/* Compound literals, added to C99 */
struct simple {
int a;
int b;
};
typedef struct simple simple_t;
int main (/*@unused@*/ int argc, /*@unused@*/ char **argv) {
/* This works */
struct simple simple1 = {1,2};
/* These don't */
struct simple simple2 = (struct simple){1,2};
simple_t simple3 = (((((((simple_t){1,2}))))));
simple2 = (struct simple) { 1, 2 };
printf("%d, %d\n", simple1.a, simple1.b);
printf("%d, %d\n", simple2.a, simple2.b);
printf("%d, %d\n", simple3.a, simple3.b);
return 1;
}
syntax highlighted by Code2HTML, v. 0.9.1