blob: 0a6eb3dd81612e83b2178fa18d7fadec77375e9f [file] [log] [blame]
typedef struct
{
unsigned short a :11;
} test_st_4;
typedef union
{
char a;
test_st_4 st4;
}test_un_2;
typedef struct
{
unsigned char a;
unsigned int :0;
unsigned int b :1;
unsigned short :0;
unsigned short c;
unsigned int :0;
unsigned int d :21;
} test_st_3;
typedef struct
{
unsigned char a :3;
unsigned int b :13;
test_un_2 un2;
} test_st_2;
typedef union
{
test_st_2 st2;
test_st_3 st3;
}test_un_1;
typedef struct
{
unsigned char a :2;
unsigned char :0;
unsigned short b :5;
unsigned char :0;
unsigned char c :4;
test_un_1 un1;
} test_st_1;
typedef union
{
test_st_1 st1;
struct
{
unsigned int v1;
unsigned int v2;
unsigned int v3;
unsigned int v4;
}values;
} read_st_1;
typedef void __attribute__ ((cmse_nonsecure_call)) (*foo_ns) (test_st_1);
int
main (void)
{
read_st_1 r;
foo_ns f;
f = (foo_ns) 0x200000;
r.values.v1 = 0xFFFFFFFF;
r.values.v2 = 0xFFFFFFFF;
r.values.v3 = 0xFFFFFFFF;
r.values.v4 = 0xFFFFFFFF;
f (r.st1);
return 0;
}