Author: Eli Friedman Date: 2022-03-15T11:58:40-07:00 New Revision: 5791e28f30168a5a930c1f869529b03b95405afe
URL: https://github.com/llvm/llvm-project/commit/5791e28f30168a5a930c1f869529b03b95405afe DIFF: https://github.com/llvm/llvm-project/commit/5791e28f30168a5a930c1f869529b03b95405afe.diff LOG: Complete the list of single-underscore keywords for MSVC compat. List derived from https://docs.microsoft.com/en-us/cpp/cpp/keywords-cpp . Not that this is something we really want to encourage, but some of these show up in practice, so I figured I should just complete the list. Differential Revision: https://reviews.llvm.org/D121412 Added: Modified: clang/include/clang/Basic/TokenKinds.def Removed: ################################################################################ diff --git a/clang/include/clang/Basic/TokenKinds.def b/clang/include/clang/Basic/TokenKinds.def index b9d5cd76d51d6..1d2082717bf97 100644 --- a/clang/include/clang/Basic/TokenKinds.def +++ b/clang/include/clang/Basic/TokenKinds.def @@ -676,24 +676,39 @@ KEYWORD(__multiple_inheritance , KEYMS) KEYWORD(__virtual_inheritance , KEYMS) KEYWORD(__interface , KEYMS) ALIAS("__int8" , char , KEYMS) -ALIAS("_int8" , char , KEYMS) ALIAS("__int16" , short , KEYMS) -ALIAS("_int16" , short , KEYMS) ALIAS("__int32" , int , KEYMS) -ALIAS("_int32" , int , KEYMS) -ALIAS("_int64" , __int64 , KEYMS) ALIAS("__wchar_t" , wchar_t , KEYMS) -ALIAS("_asm" , asm , KEYMS) -ALIAS("_alignof" , __alignof , KEYMS) ALIAS("__builtin_alignof", __alignof , KEYMS) -ALIAS("_cdecl" , __cdecl , KEYMS | KEYBORLAND) -ALIAS("_fastcall" , __fastcall , KEYMS | KEYBORLAND) -ALIAS("_stdcall" , __stdcall , KEYMS | KEYBORLAND) -ALIAS("_thiscall" , __thiscall , KEYMS) -ALIAS("_vectorcall" , __vectorcall, KEYMS) -ALIAS("_uuidof" , __uuidof , KEYMS | KEYBORLAND) -ALIAS("_inline" , inline , KEYMS) -ALIAS("_declspec" , __declspec , KEYMS) + +// Microsoft single-underscore prefixed aliases for double-underscore prefixed +// keywords. +ALIAS("_asm" , asm , KEYMS) +ALIAS("_alignof" , __alignof , KEYMS) +ALIAS("_cdecl" , __cdecl , KEYMS | KEYBORLAND) +ALIAS("_declspec" , __declspec , KEYMS) +ALIAS("_fastcall" , __fastcall , KEYMS | KEYBORLAND) +ALIAS("_finally" , __finally , KEYMSCOMPAT) +ALIAS("_forceinline" , __forceinline, KEYMSCOMPAT) +ALIAS("_inline" , inline , KEYMS) +ALIAS("_int8" , char , KEYMS) +ALIAS("_int16" , short , KEYMS) +ALIAS("_int32" , int , KEYMS) +ALIAS("_int64" , __int64 , KEYMS) +ALIAS("_leave" , __leave , KEYMSCOMPAT) +ALIAS("_multiple_inheritance", __multiple_inheritance, KEYMSCOMPAT) +ALIAS("_ptr32" , __ptr32 , KEYMSCOMPAT) +ALIAS("_ptr64" , __ptr64 , KEYMSCOMPAT) +ALIAS("_restrict" , restrict , KEYMSCOMPAT) +ALIAS("_stdcall" , __stdcall , KEYMS | KEYBORLAND) +ALIAS("_thiscall" , __thiscall , KEYMS) +ALIAS("_try" , __try , KEYMSCOMPAT) +ALIAS("_vectorcall" , __vectorcall , KEYMS) +ALIAS("_unaligned" , __unaligned , KEYMSCOMPAT) +ALIAS("_uptr" , __uptr , KEYMSCOMPAT) +ALIAS("_uuidof" , __uuidof , KEYMS | KEYBORLAND) +ALIAS("_virtual_inheritance", __virtual_inheritance, KEYMSCOMPAT) +ALIAS("_w64" , __w64 , KEYMSCOMPAT) // Borland Extensions which should be disabled in strict conformance mode. ALIAS("_pascal" , __pascal , KEYBORLAND) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits