]>
Commit | Line | Data |
---|---|---|
1f8d3e84 JJ |
1 | /* PR preprocessor/63831 */ |
2 | /* { dg-do compile } */ | |
3 | ||
4 | #ifdef __has_attribute | |
5 | typedef char T1[__has_attribute (__noreturn__) == 200809 ? 1 : -1]; | |
6 | typedef char T2[__has_attribute (alloc_size) == 1 ? 1 : -1]; | |
7 | typedef char T3[__has_attribute (non_existent_attribuuuute) == 0 ? 1 : -1]; | |
8 | #endif | |
9 | #if __has_attribute (noreturn) == 200809 | |
10 | typedef char T4; | |
11 | #endif | |
12 | #define d deprecated | |
13 | typedef char T5[__has_attribute (d) == 201309 ? 1 : -1]; | |
14 | T1 t1; | |
15 | T2 t2; | |
16 | T3 t3; | |
17 | T4 t4; | |
18 | T5 t5; | |
19 | #ifdef __cplusplus | |
d067e05f | 20 | typedef char T6[__has_attribute (gnu::__noreturn__) ? 1 : -1]; |
1f8d3e84 JJ |
21 | typedef char T7[__has_attribute (gnu::alloc_size) == 1 ? 1 : -1]; |
22 | typedef char T8[__has_attribute (gnu::non_existent_attribuuuute) == 0 ? 1 : -1]; | |
d067e05f | 23 | #if __has_attribute (gnu::noreturn) |
1f8d3e84 JJ |
24 | typedef char T9; |
25 | #endif | |
26 | #define d2 gnu::deprecated | |
27 | typedef char T10[__has_attribute (d) == 201309 ? 1 : -1]; | |
28 | T6 t6; | |
29 | T7 t7; | |
30 | T8 t8; | |
31 | T9 t9; | |
32 | T10 t10; | |
33 | #endif | |
34 | #ifdef __has_cpp_attribute | |
35 | typedef char T11[__has_cpp_attribute (__noreturn__) == 200809 ? 1 : -1]; | |
36 | typedef char T12[__has_cpp_attribute (alloc_size) == 1 ? 1 : -1]; | |
37 | typedef char T13[__has_cpp_attribute (non_existent_attribuuuute) == 0 ? 1 : -1]; | |
38 | #endif | |
39 | #if __has_cpp_attribute (noreturn) == 200809 | |
40 | typedef char T14; | |
41 | #endif | |
42 | #define d deprecated | |
43 | typedef char T15[__has_cpp_attribute (d) == 201309 ? 1 : -1]; | |
44 | T11 t11; | |
45 | T12 t12; | |
46 | T13 t13; | |
47 | T14 t14; | |
48 | T15 t15; | |
49 | #ifdef __cplusplus | |
d067e05f | 50 | typedef char T16[__has_cpp_attribute (gnu::__noreturn__) ? 1 : -1]; |
1f8d3e84 JJ |
51 | typedef char T17[__has_cpp_attribute (gnu::alloc_size) == 1 ? 1 : -1]; |
52 | typedef char T18[__has_cpp_attribute (gnu::non_existent_attribuuuute) == 0 ? 1 : -1]; | |
d067e05f | 53 | #if __has_cpp_attribute (gnu::noreturn) |
1f8d3e84 JJ |
54 | typedef char T19; |
55 | #endif | |
56 | #define d2 gnu::deprecated | |
57 | typedef char T20[__has_cpp_attribute (d) == 201309 ? 1 : -1]; | |
58 | T16 t16; | |
59 | T17 t17; | |
60 | T18 t18; | |
61 | T19 t19; | |
62 | T20 t20; | |
63 | #endif | |
64 | int t21 = __has_attribute (noreturn) + __has_cpp_attribute (__malloc__); |