diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Preprocessor/cxx_oper_keyword.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/test/Preprocessor/cxx_oper_keyword.cpp b/clang/test/Preprocessor/cxx_oper_keyword.cpp index 03e2a661b97..89a094d073c 100644 --- a/clang/test/Preprocessor/cxx_oper_keyword.cpp +++ b/clang/test/Preprocessor/cxx_oper_keyword.cpp @@ -11,12 +11,21 @@ // Not valid in C++ unless -fno-operator-names is passed: #ifdef OPERATOR_NAMES -//expected-error@+2 {{C++ operator 'and' (aka '&&') cannot be used as a macro name}} +//expected-error@+2 {{C++ operator 'and' (aka '&&') used as a macro name}} #endif #define and foo #ifdef OPERATOR_NAMES -//expected-error@+2 {{C++ operator 'xor' (aka '^') cannot be used as a macro name}} +//expected-error@+2 {{C++ operator 'xor' (aka '^') used as a macro name}} #endif #if defined xor #endif + +// For error recovery we continue as though the identifier was a macro name regardless of -fno-operator-names. +#ifdef OPERATOR_NAMES +//expected-error@+3 {{C++ operator 'and' (aka '&&') used as a macro name}} +#endif +//expected-warning@+2 {{and is defined}} +#ifdef and +#warning and is defined +#endif |