summaryrefslogtreecommitdiffstats
path: root/include/clang/AST/DeclCXX.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/DeclCXX.h')
-rw-r--r--include/clang/AST/DeclCXX.h22
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
OpenPOWER on IntegriCloud