159da7b8aSSerge Pavlov // RUN: %clang_cc1 -fsyntax-only %s -verify 259da7b8aSSerge Pavlov 3*92c14bb2SNico Weber #pragma clang diagnostic warning "-Wkeyword-macro" 4*92c14bb2SNico Weber 559da7b8aSSerge Pavlov #define for 0 // expected-warning {{keyword is hidden by macro definition}} 659da7b8aSSerge Pavlov #define final 1 // expected-warning {{keyword is hidden by macro definition}} 759da7b8aSSerge Pavlov #define __HAVE_X 0 859da7b8aSSerge Pavlov #define _HAVE_X 0 959da7b8aSSerge Pavlov #define X__Y 1059da7b8aSSerge Pavlov 1159da7b8aSSerge Pavlov #undef __cplusplus 1259da7b8aSSerge Pavlov #undef _HAVE_X 1359da7b8aSSerge Pavlov #undef X__Y 1459da7b8aSSerge Pavlov 1559da7b8aSSerge Pavlov #define switch if // expected-warning {{keyword is hidden by macro definition}} 1659da7b8aSSerge Pavlov #define final 1 // expected-warning {{keyword is hidden by macro definition}} 17*92c14bb2SNico Weber #define __HAVE_X 0 18*92c14bb2SNico Weber #define _HAVE_X 0 19*92c14bb2SNico Weber #define X__Y 2059da7b8aSSerge Pavlov 21*92c14bb2SNico Weber #undef __cplusplus 22*92c14bb2SNico Weber #undef _HAVE_X 23*92c14bb2SNico Weber #undef X__Y 2459da7b8aSSerge Pavlov 2559da7b8aSSerge Pavlov int x; 26