Mercurial > hg > CbC > CbC_llvm
view clang/test/Preprocessor/macro-reserved.c @ 176:de4ac79aef9d
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 17:13:11 +0900 |
parents | 1d019706d866 |
children | 2e18cbf3894f |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s #define for 0 // expected-warning {{keyword is hidden by macro definition}} #define final 1 #define __HAVE_X 0 #define __cplusplus #define _HAVE_X 0 #define X__Y #undef for #undef final #undef __HAVE_X #undef __cplusplus #undef _HAVE_X #undef X__Y // whitelisted definitions #define while while #define const #define static #define extern #define inline #undef while #undef const #undef static #undef extern #undef inline #define inline __inline #undef inline #define inline __inline__ #undef inline #define inline inline__ // expected-warning {{keyword is hidden by macro definition}} #undef inline #define extern __inline // expected-warning {{keyword is hidden by macro definition}} #undef extern #define extern __extern // expected-warning {{keyword is hidden by macro definition}} #undef extern #define extern __extern__ // expected-warning {{keyword is hidden by macro definition}} #undef extern #define inline _inline // expected-warning {{keyword is hidden by macro definition}} #undef inline #define volatile // expected-warning {{keyword is hidden by macro definition}} #undef volatile #pragma clang diagnostic warning "-Wreserved-id-macro" #define switch if // expected-warning {{keyword is hidden by macro definition}} #define final 1 #define __clusplus // expected-warning {{macro name is a reserved identifier}} #define __HAVE_X 0 // expected-warning {{macro name is a reserved identifier}} #define _HAVE_X 0 // expected-warning {{macro name is a reserved identifier}} #define X__Y #undef switch #undef final #undef __cplusplus // expected-warning {{macro name is a reserved identifier}} #undef _HAVE_X // expected-warning {{macro name is a reserved identifier}} #undef X__Y int x;