brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · db8a62e Raw
59 lines · c
1// RUN: %clang_cc1 %s -fsyntax-only -std=c99 -verify2// RUN: %clang_cc1 %s -fsyntax-only -std=c11 -Wc99-compat -verify3// RUN: %clang_cc1 %s -fsyntax-only -x c++ -std=c++03 -Wc++11-compat -verify4// RUN: %clang_cc1 %s -fsyntax-only -x c++ -std=c++11 -Wc++98-compat -verify5 6// Note: This file contains Unicode characters; please do not remove them!7 8// Identifier characters9extern char aǶ; // C11, C++1110extern char aª; // C99, C11, C++1111extern char a΄; // C++03, C11, C++1112extern char a๐; // C99, C++03, C11, C++1113extern char a﹅; // none14extern char x̀; // C11, C++11. Note that this does not have a composed form.15 16 17 18 19// Identifier initial characters20extern char ๐; // C++03, C11, C++1121extern char ̀; // disallowed initially in C11/C++, always in C9922 23 24 25 26#if __cplusplus27// expected-error@11 {{not allowed in an identifier}}28// expected-error@13 {{not allowed in an identifier}}29// expected-error@20 {{character <U+0E50> not allowed at the start of an identifier}}30// expected-error@21 {{character <U+0300> not allowed at the start of an identifier}}31// expected-warning@20 {{declaration does not declare anything}}32// expected-warning@21 {{declaration does not declare anything}}33 34#else35# if __STDC_VERSION__ >= 201112L36// C1137// expected-warning@9 {{using this character in an identifier is incompatible with C99}}38// expected-warning@11 {{using this character in an identifier is incompatible with C99}}39// expected-error@13 {{not allowed in an identifier}}40// expected-warning@14 {{using this character in an identifier is incompatible with C99}}41// expected-warning@20 {{starting an identifier with this character is incompatible with C99}}42// expected-warning@21 {{declaration does not declare anything}}43// expected-error@21 {{not allowed at the start of an identifier}}44 45# else46// C9947// expected-error@9 {{not allowed in an identifier}}48// expected-error@11 {{not allowed in an identifier}}49// expected-error@13 {{not allowed in an identifier}}50// expected-error@14 {{not allowed in an identifier}}51// expected-error@20 {{character <U+0E50> not allowed at the start of an identifier}}52// expected-error@21 {{unexpected character <U+0300>}}53// expected-warning@20 {{declaration does not declare anything}}54// expected-warning@21 {{declaration does not declare anything}}55 56 57# endif58#endif59