aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2011-05-12 19:52:14 +0000
committerHoward Hinnant <hhinnant@apple.com>2011-05-12 19:52:14 +0000
commita55e68b7f961d6ef4551c9be9ac18a1e25c7c927 (patch)
tree2a29f28e3a4b1fec52cb0dd9ecde4a8a8976be7a
parent707b1e9566776ca26b099685bd7ba5b440bb2acd (diff)
enable __has_feature(is_standard_layout)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131240 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Lex/PPMacroExpansion.cpp1
-rw-r--r--test/Lexer/has_feature_type_traits.cpp5
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp
index 2d04d770f5..ce7acf7806 100644
--- a/lib/Lex/PPMacroExpansion.cpp
+++ b/lib/Lex/PPMacroExpansion.cpp
@@ -593,6 +593,7 @@ static bool HasFeature(const Preprocessor &PP, const IdentifierInfo *II) {
.Case("is_empty", LangOpts.CPlusPlus)
.Case("is_enum", LangOpts.CPlusPlus)
.Case("is_literal", LangOpts.CPlusPlus)
+ .Case("is_standard_layout", LangOpts.CPlusPlus)
.Case("is_pod", LangOpts.CPlusPlus)
.Case("is_polymorphic", LangOpts.CPlusPlus)
.Case("is_trivial", LangOpts.CPlusPlus)
diff --git a/test/Lexer/has_feature_type_traits.cpp b/test/Lexer/has_feature_type_traits.cpp
index 3cfc602be6..c887563c2d 100644
--- a/test/Lexer/has_feature_type_traits.cpp
+++ b/test/Lexer/has_feature_type_traits.cpp
@@ -89,3 +89,8 @@ int is_union();
int is_literal();
#endif
// CHECK: int is_literal();
+
+#if __has_feature(is_standard_layout)
+int is_standard_layout();
+#endif
+// CHECK: int is_standard_layout();