various "is invalid" cleanups for C++ ctors/dtors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70021 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 64c85a2..9710bd9 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -1993,8 +1993,7 @@
     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 @@
   } 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),