r187055 - Update documentation to match current C++1y feature set.

Richard Smith richard-llvm at metafoo.co.uk
Wed Jul 24 10:41:32 PDT 2013


Author: rsmith
Date: Wed Jul 24 12:41:31 2013
New Revision: 187055

URL: http://llvm.org/viewvc/llvm-project?rev=187055&view=rev
Log:
Update documentation to match current C++1y feature set.

Modified:
    cfe/trunk/docs/LanguageExtensions.rst
    cfe/trunk/lib/Lex/PPMacroExpansion.cpp
    cfe/trunk/test/Lexer/has_feature_cxx0x.cpp

Modified: cfe/trunk/docs/LanguageExtensions.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LanguageExtensions.rst?rev=187055&r1=187054&r2=187055&view=diff
==============================================================================
--- cfe/trunk/docs/LanguageExtensions.rst (original)
+++ cfe/trunk/docs/LanguageExtensions.rst Wed Jul 24 12:41:31 2013
@@ -807,8 +807,7 @@ Use ``__has_feature(cxx_contextual_conve
 ``__has_extension(cxx_contextual_conversions)`` to determine if the C++1y rules
 are used when performing an implicit conversion for an array bound in a
 *new-expression*, the operand of a *delete-expression*, an integral constant
-expression, or a condition in a ``switch`` statement. Clang does not yet
-support this feature.
+expression, or a condition in a ``switch`` statement.
 
 C++1y decltype(auto)
 ^^^^^^^^^^^^^^^^^^^^
@@ -849,7 +848,6 @@ Use ``__has_feature(cxx_relaxed_constexp
 ``__has_extension(cxx_relaxed_constexpr)`` to determine if variable
 declarations, local variable modification, and control flow constructs
 are permitted in ``constexpr`` functions.
-Clang's implementation of this feature is incomplete.
 
 C++1y return type deduction
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=187055&r1=187054&r2=187055&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)
+++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Wed Jul 24 12:41:31 2013
@@ -974,10 +974,10 @@ static bool HasFeature(const Preprocesso
            .Case("cxx_variadic_templates", LangOpts.CPlusPlus11)
            // C++1y features
            .Case("cxx_binary_literals", LangOpts.CPlusPlus1y)
-           //.Case("cxx_contextual_conversions", LangOpts.CPlusPlus1y)
+           .Case("cxx_contextual_conversions", LangOpts.CPlusPlus1y)
            //.Case("cxx_generalized_capture", LangOpts.CPlusPlus1y)
            //.Case("cxx_generic_lambda", LangOpts.CPlusPlus1y)
-           //.Case("cxx_relaxed_constexpr", 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)

Modified: cfe/trunk/test/Lexer/has_feature_cxx0x.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/has_feature_cxx0x.cpp?rev=187055&r1=187054&r2=187055&view=diff
==============================================================================
--- cfe/trunk/test/Lexer/has_feature_cxx0x.cpp (original)
+++ cfe/trunk/test/Lexer/has_feature_cxx0x.cpp Wed Jul 24 12:41:31 2013
@@ -356,3 +356,23 @@ int no_return_type_deduction();
 // CHECK-1Y: has_return_type_deduction
 // CHECK-11: no_return_type_deduction
 // CHECK-NO-11: no_return_type_deduction
+
+#if __has_feature(cxx_contextual_conversions)
+int has_contextual_conversions();
+#else
+int no_contextual_conversions();
+#endif
+
+// CHECK-1Y: has_contextual_conversions
+// CHECK-11: no_contextual_conversions
+// CHECK-NO-11: no_contextual_conversions
+
+#if __has_feature(cxx_relaxed_constexpr)
+int has_relaxed_constexpr();
+#else
+int no_relaxed_constexpr();
+#endif
+
+// CHECK-1Y: has_relaxed_constexpr
+// CHECK-11: no_relaxed_constexpr
+// CHECK-NO-11: no_relaxed_constexpr





More information about the cfe-commits mailing list