diff options
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateInstantiateDecl.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp index 82228143e4..99b237d04e 100644 --- a/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -1145,7 +1145,6 @@ Sema::InstantiateMemInitializers(CXXConstructorDecl *New, QualType BaseType(Init->getBaseClass(), 0); BaseType = SubstType(BaseType, TemplateArgs, Init->getSourceLocation(), New->getDeclName()); - BaseType = Context.getCanonicalType(BaseType); NewInit = BuildBaseInitializer(BaseType, (Expr **)NewArgs.data(), @@ -1158,7 +1157,7 @@ Sema::InstantiateMemInitializers(CXXConstructorDecl *New, // Is this an anonymous union? if (FieldDecl *UnionInit = Init->getAnonUnionMember()) - Member = cast<FieldDecl>(UnionInit); + Member = cast<FieldDecl>(FindInstantiatedDecl(UnionInit)); else Member = cast<FieldDecl>(FindInstantiatedDecl(Init->getMember())); |