brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 6026a9f Raw
77 lines · c
1// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s2 3#define for 0    // expected-warning {{keyword is hidden by macro definition}}4#define final 15#define __HAVE_X 06#define __cplusplus7#define _HAVE_X 08#define X__Y9#define __STDC__ 1 // expected-warning {{redefining builtin macro}}10#define __clang__ 111 12#undef for13#undef final14#undef __HAVE_X15#undef __cplusplus16#undef _HAVE_X17#undef X__Y18#undef __STDC_HOSTED__ // expected-warning {{undefining builtin macro}}19#undef __INT32_TYPE__20#undef __UINT32_TYPE__21#undef __UINTPTR_TYPE__22#undef __UINT64_TYPE__23#undef __INT64_TYPE__24#undef __OPTIMIZE__25 26// allowlisted definitions27#define while while28#define const29#define static30#define extern31#define inline32 33#undef while34#undef const35#undef static36#undef extern37#undef inline38 39#define inline __inline40#undef  inline41#define inline __inline__42#undef  inline43 44#define inline inline__  // expected-warning {{keyword is hidden by macro definition}}45#undef  inline46#define extern __inline  // expected-warning {{keyword is hidden by macro definition}}47#undef  extern48#define extern __extern	 // expected-warning {{keyword is hidden by macro definition}}49#undef  extern50#define extern __extern__ // expected-warning {{keyword is hidden by macro definition}}51#undef  extern52 53#define inline _inline   // expected-warning {{keyword is hidden by macro definition}}54#undef  inline55#define volatile   // expected-warning {{keyword is hidden by macro definition}}56#undef  volatile57 58#pragma clang diagnostic warning "-Wreserved-macro-identifier"59 60#define switch if  // expected-warning {{keyword is hidden by macro definition}}61#define final 162#define __clusplus // expected-warning {{macro name is a reserved identifier}}63#define __HAVE_X 0 // expected-warning {{macro name is a reserved identifier}}64#define _HAVE_X 0  // expected-warning {{macro name is a reserved identifier}}65#define X__Y66 67#undef switch68#undef final69#undef __cplusplus // expected-warning {{macro name is a reserved identifier}}70#undef _HAVE_X     // expected-warning {{macro name is a reserved identifier}}71#undef X__Y72 73int x;74 75#define _GNU_SOURCE          // no-warning76#define __STDC_FORMAT_MACROS // no-warning77