1// RUN: %clang_cc1 %s -Eonly -verify
2
3#pragma GCC poison rindex
4rindex(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.
21