/* Test for anonymous structures and unions in C11. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-std=c11 -pedantic-errors" } */ | |
#include <stddef.h> | |
struct s1 | |
{ | |
int a; | |
union | |
{ | |
int i; | |
}; | |
struct | |
{ | |
int b; | |
}; | |
}; | |
union u1 | |
{ | |
int b; | |
struct | |
{ | |
int i; | |
}; | |
union | |
{ | |
int c; | |
}; | |
}; | |
struct s2 | |
{ | |
struct | |
{ | |
int a; | |
}; | |
}; | |
struct s3 | |
{ | |
union | |
{ | |
int i; | |
}; | |
}; | |
struct s4 | |
{ | |
struct | |
{ | |
int i; | |
}; | |
int a[]; | |
}; | |
struct s1 x = | |
{ | |
.b = 1, | |
.i = 2, | |
.a = 3 | |
}; | |
int o = offsetof (struct s1, i); | |
void | |
f (void) | |
{ | |
x.i = 3; | |
(&x)->i = 4; | |
} |