modernc.org/ccgo/v3@v3.16.14/lib/testdata/bug/union.c (about)

     1  union u {
     2  	char *a;
     3  	int b;
     4  };
     5  
     6  union u f(int i) {
     7  	return (union u){b: i};
     8  }
     9  
    10  union u g(int i) {
    11  	return (union u){.b = i};
    12  }
    13  
    14  int main() {
    15  	int i = 0;
    16  	union u u, v;
    17  	while ((u = f(i)).b < 5) {
    18  		__builtin_printf("%d\n", i++);
    19  	}
    20  	__builtin_printf("%d\n", u.b);
    21  	i = 0;
    22  	while ((v = g(i)).b < 3) {
    23  		__builtin_printf("%d\n", i++);
    24  	}
    25  	__builtin_printf("%d\n", v.b);
    26  	return 0;
    27  }