diff options
Diffstat (limited to 'include/clang/AST/DeclCXX.h')
-rw-r--r-- | include/clang/AST/DeclCXX.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index 328ec8701e..26f8f1a75f 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -228,6 +228,9 @@ class CXXRecordDecl : public RecordDecl { /// HasTrivialConstructor - True when this class has a trivial constructor bool HasTrivialConstructor : 1; + /// HasTrivialDestructor - True when this class has a trivial destructor + bool HasTrivialDestructor : 1; + /// Bases - Base classes of this class. /// FIXME: This is wasted space for a union. CXXBaseSpecifier *Bases; @@ -327,7 +330,7 @@ public: /// setUserDeclaredDestructor - Set whether this class has a /// user-declared destructor. If not set by the time the class is /// fully defined, a destructor will be implicitly declared. - void setUserDeclaredDestructor(bool UCD = true) { + void setUserDeclaredDestructor(bool UCD) { UserDeclaredDestructor = UCD; } @@ -386,6 +389,14 @@ public: // (C++ [class.ctor]p5) void setHasTrivialConstructor(bool TC) { HasTrivialConstructor = TC; } + // hasTrivialDestructor - Whether this class has a trivial destructor + // (C++ [class.dtor]p3) + bool hasTrivialDestructor() const { return HasTrivialDestructor; } + + // setHasTrivialDestructor - Set whether this class has a trivial destructor + // (C++ [class.dtor]p3) + void setHasTrivialDestructor(bool TC) { HasTrivialDestructor = TC; } + /// \brief If this record is an instantiation of a member class, /// retrieves the member class from which it was instantiated. /// |