royjacobson created this revision.
royjacobson added a reviewer: cor3ntin.
Herald added a project: All.
royjacobson requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Define the feature test macro for named character escapes.
I assume this was not done because it was implemented before formally accepted,
right? cxx_status says the paper is implemented.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D134898
Files:
clang/lib/Frontend/InitPreprocessor.cpp
clang/test/Lexer/cxx-features.cpp
Index: clang/test/Lexer/cxx-features.cpp
===================================================================
--- clang/test/Lexer/cxx-features.cpp
+++ clang/test/Lexer/cxx-features.cpp
@@ -51,7 +51,7 @@
#error "wrong value for __cpp_static_call_operator"
#endif
-#if check(named_character_escapes, 0, 0, 0, 0, 0, 0)
+#if check(named_character_escapes, 202207L, 202207L, 202207L, 202207L,
202207L, 202207L)
#error "wrong value for __cpp_named_character_escapes"
#endif
Index: clang/lib/Frontend/InitPreprocessor.cpp
===================================================================
--- clang/lib/Frontend/InitPreprocessor.cpp
+++ clang/lib/Frontend/InitPreprocessor.cpp
@@ -696,6 +696,8 @@
Builder.defineMacro("__cpp_if_consteval", "202106L");
Builder.defineMacro("__cpp_multidimensional_subscript", "202110L");
}
+ Builder.defineMacro("__cpp_named_character_escapes", "202207L");
+
if (LangOpts.Char8)
Builder.defineMacro("__cpp_char8_t", "201811L");
Builder.defineMacro("__cpp_impl_destroying_delete", "201806L");
Index: clang/test/Lexer/cxx-features.cpp
===================================================================
--- clang/test/Lexer/cxx-features.cpp
+++ clang/test/Lexer/cxx-features.cpp
@@ -51,7 +51,7 @@
#error "wrong value for __cpp_static_call_operator"
#endif
-#if check(named_character_escapes, 0, 0, 0, 0, 0, 0)
+#if check(named_character_escapes, 202207L, 202207L, 202207L, 202207L, 202207L, 202207L)
#error "wrong value for __cpp_named_character_escapes"
#endif
Index: clang/lib/Frontend/InitPreprocessor.cpp
===================================================================
--- clang/lib/Frontend/InitPreprocessor.cpp
+++ clang/lib/Frontend/InitPreprocessor.cpp
@@ -696,6 +696,8 @@
Builder.defineMacro("__cpp_if_consteval", "202106L");
Builder.defineMacro("__cpp_multidimensional_subscript", "202110L");
}
+ Builder.defineMacro("__cpp_named_character_escapes", "202207L");
+
if (LangOpts.Char8)
Builder.defineMacro("__cpp_char8_t", "201811L");
Builder.defineMacro("__cpp_impl_destroying_delete", "201806L");
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits