Home | History | Annotate | Download | only in Preprocessor
      1 // RUN: %clang_cc1 %s -Eonly -verify
      2 
      3 #pragma GCC poison rindex
      4 rindex(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
      8 BAR
      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 
     20 strrchr(some_string, 'h');   // ok.
     21