blob: d91feb7ff2deeaec947063e706ac8afa85d3342c [file] [log] [blame]
Chris Lattnerbf604452009-04-19 20:15:59 +00001// RUN: clang-cc %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.