Make sure we don't name a constructor or destructor with a qualified
type. It leads to very weird errors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62124 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclarationName.cpp b/lib/AST/DeclarationName.cpp
index 044acd7..ae579c2 100644
--- a/lib/AST/DeclarationName.cpp
+++ b/lib/AST/DeclarationName.cpp
@@ -286,9 +286,11 @@
   switch (Kind) {
   case DeclarationName::CXXConstructorName: 
     EKind = DeclarationNameExtra::CXXConstructor;
+    assert(Ty.getCVRQualifiers() == 0 && "Constructor type must be unqualified");
     break;
   case DeclarationName::CXXDestructorName:
     EKind = DeclarationNameExtra::CXXDestructor;
+    assert(Ty.getCVRQualifiers() == 0 && "Destructor type must be unqualified");
     break;
   case DeclarationName::CXXConversionFunctionName:
     EKind = DeclarationNameExtra::CXXConversionFunction;