# HG changeset patch # User Shinji KONO # Date 1692329707 -32400 # Node ID 8d0e9910c5b3e9ec5b9a116762db69cb1226fc86 # Parent 731cecd08f471fe372aff513b2ce7531416fe523 ... diff -r 731cecd08f47 -r 8d0e9910c5b3 clang/include/clang/AST/BuiltinTypes.def --- a/clang/include/clang/AST/BuiltinTypes.def Fri Aug 18 11:20:44 2023 +0900 +++ b/clang/include/clang/AST/BuiltinTypes.def Fri Aug 18 12:35:07 2023 +0900 @@ -57,6 +57,10 @@ // void BUILTIN_TYPE(Void, VoidTy) +#ifndef noCbC +BUILTIN_TYPE(__Code, __CodeTy) +#endif + //===- Unsigned Types -----------------------------------------------------===// // 'bool' in C++, '_Bool' in C99 diff -r 731cecd08f47 -r 8d0e9910c5b3 clang/include/clang/Basic/LangOptions.def --- a/clang/include/clang/Basic/LangOptions.def Fri Aug 18 11:20:44 2023 +0900 +++ b/clang/include/clang/Basic/LangOptions.def Fri Aug 18 12:35:07 2023 +0900 @@ -416,6 +416,10 @@ BENIGN_LANGOPT(AllowEditorPlaceholders, 1, 0, "allow editor placeholders in source") +#ifndef noCbC +LANGOPT(HasCodeSegment , 1, 0, "CbC") +#endif + ENUM_LANGOPT(ClangABICompat, ClangABI, 4, ClangABI::Latest, "version of Clang that we should attempt to be ABI-compatible " "with") diff -r 731cecd08f47 -r 8d0e9910c5b3 clang/include/clang/Basic/TokenKinds.def --- a/clang/include/clang/Basic/TokenKinds.def Fri Aug 18 11:20:44 2023 +0900 +++ b/clang/include/clang/Basic/TokenKinds.def Fri Aug 18 12:35:07 2023 +0900 @@ -332,7 +332,12 @@ KEYWORD(__func__ , KEYALL) KEYWORD(__objc_yes , KEYALL) KEYWORD(__objc_no , KEYALL) - + +#ifndef noCbC // CbC Keywords. +KEYWORD(__code , KEYALL) +KEYWORD(_CbC_return , KEYALL) +KEYWORD(_CbC_environment , KEYALL) +#endif // C++ 2.11p1: Keywords. KEYWORD(asm , KEYCXX|KEYGNU) diff -r 731cecd08f47 -r 8d0e9910c5b3 clang/lib/Parse/CMakeLists.txt --- a/clang/lib/Parse/CMakeLists.txt Fri Aug 18 11:20:44 2023 +0900 +++ b/clang/lib/Parse/CMakeLists.txt Fri Aug 18 12:35:07 2023 +0900 @@ -22,6 +22,7 @@ ParseStmtAsm.cpp ParseTemplate.cpp ParseTentative.cpp + ParseCbC.cpp Parser.cpp LINK_LIBS