diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2014-10-15 16:58:18 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2014-10-15 16:58:18 +0000 |
| commit | 260995b86b8895ac22da92415cea9690c6905291 (patch) | |
| tree | cdd943a30d997fb2db61e84b853b7a7bd4ee92b3 /clang/lib/Sema/SemaDecl.cpp | |
| parent | 72d03bee6497a80e70ffbf43a6e28cd55bf3527b (diff) | |
| download | bcm5719-llvm-260995b86b8895ac22da92415cea9690c6905291.tar.gz bcm5719-llvm-260995b86b8895ac22da92415cea9690c6905291.zip | |
Adding attributes to the IndirectFieldDecl that we generate for anonymous struct/union fields. This fixes PR20930.
llvm-svn: 219807
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 22a7e732c50..65eafd5a3c2 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -3723,10 +3723,12 @@ static bool InjectAnonymousStructOrUnionMembers(Sema &SemaRef, Scope *S, for (unsigned i = 0; i < Chaining.size(); i++) NamedChain[i] = Chaining[i]; - IndirectFieldDecl* IndirectField = - IndirectFieldDecl::Create(SemaRef.Context, Owner, VD->getLocation(), - VD->getIdentifier(), VD->getType(), - NamedChain, Chaining.size()); + IndirectFieldDecl *IndirectField = IndirectFieldDecl::Create( + SemaRef.Context, Owner, VD->getLocation(), VD->getIdentifier(), + VD->getType(), NamedChain, Chaining.size()); + + for (const auto *Attr : VD->attrs()) + IndirectField->addAttr(Attr->clone(SemaRef.Context)); IndirectField->setAccess(AS); IndirectField->setImplicit(); |

