blob: 5b39183b60d36b8132196ded11209b78f0fa7fe1 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -Eonly -verify
Reid Spencer5f016e22007-07-11 17:01:13 +00002
3#pragma GCC poison rindex
Chris Lattnerbf604452009-04-19 20:15:59 +00004rindex(some_string, 'h'); // expected-error {{attempt to use a poisoned identifier}}
5
6#define BAR _Pragma ("GCC poison XYZW") XYZW /*NO ERROR*/
7 XYZW // ok
8BAR
9 XYZW // expected-error {{attempt to use a poisoned identifier}}
10
11// Pragma poison shouldn't warn from macro expansions defined before the token
12// is poisoned.
13
14#define strrchr rindex2
15#pragma GCC poison rindex2
16
17// Can poison multiple times.
18#pragma GCC poison rindex2
19
20strrchr(some_string, 'h'); // ok.