Home | History | Annotate | Line # | Download | only in lint1
d_c99_union_cast.c revision 1.5
      1  1.5    rillig /*	$NetBSD: d_c99_union_cast.c,v 1.5 2021/08/03 20:34:23 rillig Exp $	*/
      2  1.2    rillig # 3 "d_c99_union_cast.c"
      3  1.2    rillig 
      4  1.5    rillig /* C99 does not define union cast, it is a GCC extension. */
      5  1.1  christos 
      6  1.1  christos struct bar {
      7  1.1  christos 	int a;
      8  1.1  christos 	int b;
      9  1.1  christos };
     10  1.1  christos 
     11  1.1  christos union foo {
     12  1.1  christos 	struct bar *a;
     13  1.1  christos 	int b;
     14  1.1  christos };
     15  1.1  christos 
     16  1.1  christos void
     17  1.3    rillig foo(void)
     18  1.3    rillig {
     19  1.4    rillig 	struct bar *a;		/* expect: 192 */
     20  1.1  christos 
     21  1.1  christos 	((union foo)a).a;
     22  1.1  christos }
     23