]> granicus.if.org Git - clang/commitdiff
Record nested-name-specifiers of when we create
authorDouglas Gregor <dgregor@apple.com>
Thu, 22 Apr 2010 14:24:35 +0000 (14:24 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 22 Apr 2010 14:24:35 +0000 (14:24 +0000)
elaborated-type-specifiers. Patch by Enea Zaffanella!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102065 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaType.cpp
test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p1.cpp

index 9a3827e1cab581e7f8dbee1096242267b2dabd6f..ab1fc1824f405b423a1370f0356823bd306d155a 100644 (file)
@@ -280,6 +280,7 @@ static QualType ConvertDeclSpecToType(Sema &TheSema,
     if (TheSema.getLangOptions().CPlusPlus) {
       TagDecl::TagKind Tag
         = TagDecl::getTagKindForTypeSpec(DS.getTypeSpecType());
+      Result = TheSema.getQualifiedNameType(DS.getTypeSpecScope(), Result);
       Result = Context.getElaboratedType(Result, Tag);
     }
 
index c51c2cacc3212b66622132072e56ad76cd84ceb3..bb1d67f51a6c246a90cd3c987563c7e88b306212 100644 (file)
@@ -39,7 +39,7 @@ namespace Test0 {
       test<2> _1 = (foo)(a);
 
       class Test0::foo b;
-      test<2> _2 = (foo)(b); // expected-error {{no viable conversion from 'class Test0::foo' to 'class foo' is possible}}
+      test<2> _2 = (foo)(b); // expected-error {{no viable conversion from 'class Test0::foo' to 'class ::foo' is possible}}
     }
   }
 }