1 #define __noderef __attribute__((noderef))
2 #define __bitwise __attribute__((bitwise))
3 #define __nocast __attribute__((nocast))
4 #define __safe __attribute__((safe))
6 static void test_spec(void)
8 unsigned int obj
, *ptr
;
10 typeof(ptr
) ptr2
= ptr
;
11 typeof(*ptr
) var2
= obj
;
12 typeof(*ptr
) *ptr3
= ptr
;
13 typeof(obj
) *ptr4
= ptr
;
20 static void test_const(void)
23 typeof(obj
) var
= obj
;
24 typeof(ptr
) ptr2
= ptr
;
25 typeof(*ptr
) var2
= obj
;
26 typeof(*ptr
) *ptr3
= ptr
;
27 typeof(obj
) *ptr4
= ptr
;
32 static void test_volatile(void)
34 volatile int obj
, *ptr
;
35 typeof(obj
) var
= obj
;
36 typeof(ptr
) ptr2
= ptr
;
37 typeof(*ptr
) var2
= obj
;
38 typeof(*ptr
) *ptr3
= ptr
;
39 typeof(obj
) *ptr4
= ptr
;
46 static void test_bitwise(void)
48 typedef int __bitwise type_t
;
50 typeof(obj
) var
= obj
;
51 typeof(ptr
) ptr2
= ptr
;
52 typeof(*ptr
) var2
= obj
;
53 typeof(*ptr
) *ptr3
= ptr
;
54 typeof(obj
) *ptr4
= ptr
;
61 static void test_static(void)
64 typeof(obj
) var
= obj
;
65 typeof(ptr
) ptr2
= ptr
;
66 typeof(*ptr
) var2
= obj
;
67 typeof(*ptr
) *ptr3
= ptr
;
68 typeof(obj
) *ptr4
= ptr
;
75 static void test_tls(void)
77 __thread
int obj
, *ptr
;
78 typeof(obj
) var
= obj
;
79 typeof(ptr
) ptr2
= ptr
;
80 typeof(*ptr
) var2
= obj
;
81 typeof(*ptr
) *ptr3
= ptr
;
82 typeof(obj
) *ptr4
= ptr
;
89 static void test_nocast(void)
91 int __nocast obj
, *ptr
;
92 typeof(obj
) var
= obj
;
93 typeof(ptr
) ptr2
= ptr
;
94 typeof(*ptr
) var2
= obj
;
95 typeof(*ptr
) *ptr3
= ptr
;
96 typeof(obj
) *ptr4
= ptr
;
104 * check-name: typeof-mods