blob: 5b39183b60d36b8132196ded11209b78f0fa7fe1 [file] [log] [blame]
Daniel Dunbar8fbe78f2009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -Eonly -verify
Chris Lattner36f00032006-06-25 05:40:49 +00002
3#pragma GCC poison rindex
Chris Lattner0e71dbf2009-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.