aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorcor3ntin <corentinjabot@gmail.com>2025-05-06 14:13:32 +0200
committerGitHub <noreply@github.com>2025-05-06 14:13:32 +0200
commit300d4026f77683aae490361d250a51904dd19ed2 (patch)
tree0356047d81febbd3ddce6ada2429b128b29cafbe /clang/lib/Frontend/InitPreprocessor.cpp
parent3b4f9c544274392198de084b84a5f2e5506e4703 (diff)
downloadllvm-300d4026f77683aae490361d250a51904dd19ed2.zip
llvm-300d4026f77683aae490361d250a51904dd19ed2.tar.gz
llvm-300d4026f77683aae490361d250a51904dd19ed2.tar.bz2
[Clang] Implement the core language parts of P2786 - Trivial relocation (#127636)
This adds - The parsing of `trivially_relocatable_if_eligible`, `replaceable_if_eligible` keywords - `__builtin_trivially_relocate`, implemented in terms of memmove. In the future this should - Add the appropriate start/end lifetime markers that llvm does not have (`start_lifetime_as`) - Add support for ptrauth when that's upstreamed - the `__builtin_is_cpp_trivially_relocatable` and `__builtin_is_replaceable` traits Fixes #127609
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index e083c1a..906b0fa 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -772,6 +772,7 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts,
Builder.defineMacro("__cpp_pack_indexing", "202311L");
Builder.defineMacro("__cpp_deleted_function", "202403L");
Builder.defineMacro("__cpp_variadic_friend", "202403L");
+ // Builder.defineMacro("__cpp_trivial_relocatability", "202502L");
if (LangOpts.Char8)
Builder.defineMacro("__cpp_char8_t", "202207L");