diff options
Diffstat (limited to 'include/clang/AST/DeclCXX.h')
-rw-r--r-- | include/clang/AST/DeclCXX.h | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index 9ca1823..52ed0ec 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -283,6 +283,10 @@ public: /// copy constructor that accepts a const-qualified argument. bool hasConstCopyConstructor(ASTContext &Context) const; + /// getCopyConstructor - Returns the copy constructor for this class + CXXConstructorDecl *getCopyConstructor(ASTContext &Context, + unsigned TypeQuals) const; + /// hasConstCopyAssignment - Determines whether this class has a /// copy assignment operator that accepts a const-qualified argument. bool hasConstCopyAssignment(ASTContext &Context) const; @@ -642,18 +646,13 @@ class CXXConstructorDecl : public CXXMethodDecl { /// @c !Implicit && ImplicitlyDefined. bool ImplicitlyDefined : 1; - /// ImplicitMustBeDefined - Implicit constructor was used to create an - /// object of its class type. It must be defined. - bool ImplicitMustBeDefined : 1; - /// FIXME: Add support for base and member initializers. CXXConstructorDecl(CXXRecordDecl *RD, SourceLocation L, DeclarationName N, QualType T, bool isExplicit, bool isInline, bool isImplicitlyDeclared) : CXXMethodDecl(CXXConstructor, RD, L, N, T, false, isInline), - Explicit(isExplicit), ImplicitlyDefined(false), - ImplicitMustBeDefined(false) { + Explicit(isExplicit), ImplicitlyDefined(false) { setImplicit(isImplicitlyDeclared); } @@ -683,17 +682,6 @@ public: "Can only set the implicit-definition flag once the constructor has been defined"); ImplicitlyDefined = ID; } - - /// isImplicitMustBeDefined - Whether a definition must be synthesized for - /// the implicit constructor. - bool isImplicitMustBeDefined() const { - return isImplicit() && ImplicitMustBeDefined; - } - - /// setImplicitMustBeDefined - constructor must be implicitly defined. - void setImplicitMustBeDefined() { - ImplicitMustBeDefined = true; - } /// isDefaultConstructor - Whether this constructor is a default /// constructor (C++ [class.ctor]p5), which can be used to |