From 4fb09720cf2d8511d15f387332f3e89c4e96d670 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 24 Jul 2013 17:51:13 +0000 Subject: [PATCH] Rename feature test for lambda init-captures from cxx_generalized_capture to cxx_init_capture. "generalized" is neither descriptive nor future-proof. No compatibility problems expected, since we've never advertised having this feature. llvm-svn: 187058 --- clang/docs/LanguageExtensions.rst | 6 +++--- clang/lib/Lex/PPMacroExpansion.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst index 229158d369af..1917e2b73c27 100644 --- a/clang/docs/LanguageExtensions.rst +++ b/clang/docs/LanguageExtensions.rst @@ -826,9 +826,9 @@ for default initializers in aggregate members is enabled. C++1y generalized lambda capture ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use ``__has_feature(cxx_generalized_capture)`` or -``__has_extension(cxx_generalized_capture`` to determine if support for -generalized lambda captures is enabled +Use ``__has_feature(cxx_init_capture)`` or +``__has_extension(cxx_init_capture)`` to determine if support for +lambda captures with explicit initializers is enabled (for instance, ``[n(0)] { return ++n; }``). Clang does not yet support this feature. diff --git a/clang/lib/Lex/PPMacroExpansion.cpp b/clang/lib/Lex/PPMacroExpansion.cpp index 4367168fffe0..2a932392f2ca 100644 --- a/clang/lib/Lex/PPMacroExpansion.cpp +++ b/clang/lib/Lex/PPMacroExpansion.cpp @@ -973,14 +973,14 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) { .Case("cxx_user_literals", LangOpts.CPlusPlus11) .Case("cxx_variadic_templates", LangOpts.CPlusPlus11) // C++1y features + .Case("cxx_aggregate_nsdmi", LangOpts.CPlusPlus1y) .Case("cxx_binary_literals", LangOpts.CPlusPlus1y) .Case("cxx_contextual_conversions", LangOpts.CPlusPlus1y) - //.Case("cxx_generalized_capture", LangOpts.CPlusPlus1y) //.Case("cxx_generic_lambda", LangOpts.CPlusPlus1y) + //.Case("cxx_init_capture", LangOpts.CPlusPlus1y) .Case("cxx_relaxed_constexpr", LangOpts.CPlusPlus1y) .Case("cxx_return_type_deduction", LangOpts.CPlusPlus1y) //.Case("cxx_runtime_array", LangOpts.CPlusPlus1y) - .Case("cxx_aggregate_nsdmi", LangOpts.CPlusPlus1y) //.Case("cxx_variable_templates", LangOpts.CPlusPlus1y) // Type traits .Case("has_nothrow_assign", LangOpts.CPlusPlus)