diff options
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 64c85a2aad..9710bd95df 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -1993,8 +1993,7 @@ Sema::ActOnFunctionDeclarator(Scope* S, Declarator& D, DeclContext* DC, assert(DC->isRecord() && "Constructors can only be declared in a member context"); - if (!D.isInvalidType()) - D.setInvalidType(CheckConstructorDeclarator(D, R, SC)); + R = CheckConstructorDeclarator(D, R, SC); // Create the new declaration NewFD = CXXConstructorDecl::Create(Context, @@ -2005,8 +2004,7 @@ Sema::ActOnFunctionDeclarator(Scope* S, Declarator& D, DeclContext* DC, } else if (D.getKind() == Declarator::DK_Destructor) { // This is a C++ destructor declaration. if (DC->isRecord()) { - if (!D.isInvalidType()) - D.setInvalidType(CheckDestructorDeclarator(D, R, SC)); + R = CheckDestructorDeclarator(D, SC); NewFD = CXXDestructorDecl::Create(Context, cast<CXXRecordDecl>(DC), |