2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / gcc / testsuite / gcc.target / avr / torture / addr-space-1.h
blob322a5b8b3b6e6ff135f6a68e4422088570ba0ea9
1 #include <stdlib.h>
2 #include <string.h>
4 typedef struct
6 char i1;
7 short i2;
8 long i4;
9 long long i8;
10 char str[2][10];
11 } a_t;
13 const __as a_t A =
15 12, 345, 678910, 1234567891011ll,
17 "xxx..xxx",
18 "yyy..yyy"
22 const __as volatile a_t V =
24 12+1, 345+1, 678910+1, 1234567891011ll+1,
26 "XXX..XXX",
27 "YYY..YYY"
31 a_t A2;
32 volatile a_t V2;
34 int main (void)
36 if (A.i1 != 12
37 || A.i1 != V.i1 -1)
38 abort();
40 if (A.i2 != 345
41 || A.i2 != V.i2 -1)
42 abort();
44 if (A.i4 != 678910
45 || A.i4 != V.i4 -1)
46 abort();
48 if (A.i8 != 1234567891011ll
49 || A.i8 != V.i8 -1)
50 abort();
52 A2 = A;
53 V2 = V;
55 if (A2.i1 != 12
56 || A2.i1 != V2.i1 -1)
57 abort();
59 if (A2.i2 != 345
60 || A2.i2 != V2.i2 -1)
61 abort();
63 if (A2.i4 != 678910
64 || A2.i4 != V2.i4 -1)
65 abort();
67 if (A2.i8 != 1234567891011ll
68 || A2.i8 != V2.i8 -1)
69 abort();
71 if (strcmp (A2.str[0], "xxx..xxx"))
72 abort();
73 if (strcmp (A2.str[1], "yyy..yyy"))
74 abort();
76 if (strcmp ((const char*) V2.str[0], "XXX..XXX"))
77 abort();
78 if (strcmp ((const char*) V2.str[1], "YYY..YYY"))
79 abort();
81 exit (0);
82 return 0;