1 // expected-error@+1{{expected (}}
2 #pragma clang restrict_expansion
4 // expected-error@+1{{expected identifier}}
5 #pragma clang restrict_expansion(4
7 // expected-error@+1{{no macro named 'foo'}}
8 #pragma clang restrict_expansion(foo)
11 #define UNSAFE_MACRO 1
12 // expected-note@+8{{macro marked 'restrict_expansion' here}}
13 // expected-note@+7{{macro marked 'restrict_expansion' here}}
14 // expected-note@+6{{macro marked 'restrict_expansion' here}}
15 // expected-note@+5{{macro marked 'restrict_expansion' here}}
16 // expected-note@+4{{macro marked 'restrict_expansion' here}}
17 // expected-note@+3{{macro marked 'restrict_expansion' here}}
18 // expected-note@+2{{macro marked 'restrict_expansion' here}}
19 // expected-note@+1{{macro marked 'restrict_expansion' here}}
20 #pragma clang restrict_expansion(UNSAFE_MACRO, "Don't use this!")
22 #define UNSAFE_MACRO_2 2
23 // expected-note@+1{{macro marked 'restrict_expansion' here}}
24 #pragma clang restrict_expansion(UNSAFE_MACRO_2)
26 // expected-error@+1{{expected )}}
27 #pragma clang deprecated(UNSAFE_MACRO