aboutsummaryrefslogtreecommitdiff
path: root/clang/lib
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2010-12-09 10:07:54 +0000
committerFrancois Pichet <pichet2000@gmail.com>2010-12-09 10:07:54 +0000
commitdbafc19fe0d5541263669ca9acd44b093f40e6c1 (patch)
treede5c2316aa013e4e336ae205329ad8885bffd587 /clang/lib
parentbc4457e31750565283f47c66ae1e44dba8362996 (diff)
downloadllvm-dbafc19fe0d5541263669ca9acd44b093f40e6c1.zip
llvm-dbafc19fe0d5541263669ca9acd44b093f40e6c1.tar.gz
llvm-dbafc19fe0d5541263669ca9acd44b093f40e6c1.tar.bz2
Fix PR8760: IndirectFieldDecl Type was not updated during template instantiation.
llvm-svn: 121363
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index e3b8cfe..f98efec 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -467,9 +467,10 @@ Decl *TemplateDeclInstantiator::VisitIndirectFieldDecl(IndirectFieldDecl *D) {
NamedChain[i++] = (SemaRef.FindInstantiatedDecl(D->getLocation(),
*PI, TemplateArgs));
+ QualType T = cast<FieldDecl>(NamedChain[i-1])->getType();
IndirectFieldDecl* IndirectField
= IndirectFieldDecl::Create(SemaRef.Context, Owner, D->getLocation(),
- D->getIdentifier(), D->getType(),
+ D->getIdentifier(), T,
NamedChain, D->getChainingSize());