diff options
author | Francois Pichet <pichet2000@gmail.com> | 2010-12-09 10:07:54 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2010-12-09 10:07:54 +0000 |
commit | dbafc19fe0d5541263669ca9acd44b093f40e6c1 (patch) | |
tree | de5c2316aa013e4e336ae205329ad8885bffd587 /clang/lib | |
parent | bc4457e31750565283f47c66ae1e44dba8362996 (diff) | |
download | llvm-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.cpp | 3 |
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()); |