aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/Type.h
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-04-29 09:46:08 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-04-29 09:46:08 +0000
commit43fa33b4bedc28d2faa17d678ad1f40eb42817a1 (patch)
tree96f09e32e9af7cc852bb8323b7bfac0067482b77 /include/clang/AST/Type.h
parenta343a415035aba553a5c21fad8fba6a6db83e0f9 (diff)
Relax the non-POD memset warning to use the less restrictive C++11
definition of POD. Specifically, this allows certain non-aggregate types due to their data members being private. The representation of C++11 POD testing is pretty gross. Any suggestions for improvements there are welcome. Especially the name 'isCXX11PODType()' seems truly unfortunate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130492 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST/Type.h')
-rw-r--r--include/clang/AST/Type.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h
index edbdaa1848..4254f32e5f 100644
--- a/include/clang/AST/Type.h
+++ b/include/clang/AST/Type.h
@@ -1179,6 +1179,12 @@ public:
/// (C++0x [basic.types]p9)
bool isTrivialType() const;
+ /// isCXX11PODType() - Return true if this is a POD type according to the
+ /// more relaxed rules of the C++11 standard, regardless of the current
+ /// compilation's language.
+ /// (C++0x [basic.types]p9)
+ bool isCXX11PODType() const;
+
/// Helper methods to distinguish type categories. All type predicates
/// operate on the canonical type, ignoring typedefs and qualifiers.