Use the C++11 definition of PODness for __is_pod in C++11 mode.
Keep the old definition for C++98 so we don't break tr1::is_pod.
llvm-svn: 155754
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 7d34507..7c8caba 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -3010,7 +3010,8 @@
case UTT_IsStandardLayout:
return T->isStandardLayoutType();
case UTT_IsPOD:
- return T.isPODType(Self.Context);
+ return Self.LangOpts.CPlusPlus0x ? T.isCXX11PODType(Self.Context)
+ : T.isPODType(Self.Context);
case UTT_IsLiteral:
return T->isLiteralType();
case UTT_IsEmpty: