55 lines
753 B
C
55 lines
753 B
C
/* PR c/6660
|
|
Test whether an unnamed field with user defined type - struct or union is
|
|
accepted. */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-fms-extensions" } */
|
|
|
|
typedef struct {
|
|
unsigned short a;
|
|
unsigned short b;
|
|
} __attribute__ ((__packed__)) A;
|
|
|
|
typedef struct B_ {
|
|
unsigned int c;
|
|
unsigned int d;
|
|
} B;
|
|
|
|
typedef struct C_ {
|
|
B;
|
|
unsigned int e;
|
|
unsigned int f;
|
|
} C;
|
|
|
|
typedef C D;
|
|
|
|
typedef struct {
|
|
A;
|
|
D;
|
|
struct {
|
|
unsigned short g;
|
|
unsigned short h;
|
|
} __attribute__ ((__packed__));
|
|
union {
|
|
int i;
|
|
long j;
|
|
};
|
|
int k;
|
|
} __attribute__ ((__packed__)) E;
|
|
|
|
E x;
|
|
|
|
void foo (void)
|
|
{
|
|
x.a = 1;
|
|
x.b = 2;
|
|
x.c = 3;
|
|
x.d = 4;
|
|
x.e = 5;
|
|
x.f = 6;
|
|
x.g = 7;
|
|
x.h = 8;
|
|
x.i = 9;
|
|
x.j = 10;
|
|
x.k = 11;
|
|
}
|