diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-28 20:26:06 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-28 20:26:06 +0000 |
commit | 38d91d49ce743af802f8dd106ab508d04903c06b (patch) | |
tree | 3a70d40a59c0899fdaeb5b6690aeb9053cae154a /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | dcb1bcae0b641701e07831b76a3130e6df765b3b (diff) | |
download | llvm-38d91d49ce743af802f8dd106ab508d04903c06b.zip llvm-38d91d49ce743af802f8dd106ab508d04903c06b.tar.gz llvm-38d91d49ce743af802f8dd106ab508d04903c06b.tar.bz2 |
P0095R3: Implement the latest published revision of SD-6 (C++ feature test macros).
llvm-svn: 282627
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 8f669c7..0351106 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -467,7 +467,8 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts, Builder.defineMacro("__cpp_lambdas", "200907"); Builder.defineMacro("__cpp_constexpr", LangOpts.CPlusPlus14 ? "201304" : "200704"); - Builder.defineMacro("__cpp_range_based_for", "200907"); + Builder.defineMacro("__cpp_range_based_for", + LangOpts.CPlusPlus1z ? "201603" : "200907"); Builder.defineMacro("__cpp_static_assert", LangOpts.CPlusPlus1z ? "201411" : "200410"); Builder.defineMacro("__cpp_decltype", "200707"); @@ -498,12 +499,15 @@ static void InitializeCPlusPlusFeatureTestMacros(const LangOptions &LangOpts, // C++17 features. if (LangOpts.CPlusPlus1z) { + Builder.defineMacro("__cpp_hex_float", "201603"); //Builder.defineMacro("__cpp_noexcept_function_type", "201510"); - Builder.defineMacro("__cpp_fold_expressions", "201411"); + Builder.defineMacro("__cpp_capture_star_this", "201603"); Builder.defineMacro("__cpp_namespace_attributes", "201411"); Builder.defineMacro("__cpp_enumerator_attributes", "201411"); Builder.defineMacro("__cpp_nested_namespace_definitions", "201411"); + Builder.defineMacro("__cpp_aggregate_bases", "201603"); Builder.defineMacro("__cpp_nontype_template_args", "201411"); + Builder.defineMacro("__cpp_fold_expressions", "201603"); } // TS features. |