diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-08-22 14:52:14 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-08-22 14:52:14 +0000 |
commit | 0c6c405e23d9933fc6c681473245e88dbfde4c97 (patch) | |
tree | 73610a2c5f53a17a22a754f5e67089bd92c5624f /clang/lib | |
parent | 4d520640ba437baff70fd518e445c8be929dbbe1 (diff) | |
download | bcm5719-llvm-0c6c405e23d9933fc6c681473245e88dbfde4c97.tar.gz bcm5719-llvm-0c6c405e23d9933fc6c681473245e88dbfde4c97.zip |
Merge existing attributes before processing pragmas in friend template
declarations.
Fixes pr13662.
llvm-svn: 162360
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 4dbf3e45b38..98497cb64d1 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -1104,6 +1104,9 @@ Sema::CheckClassTemplate(Scope *S, unsigned TagSpec, TagUseKind TUK, if (Attr) ProcessDeclAttributeList(S, NewClass, Attr); + if (PrevClassTemplate) + mergeDeclAttributes(NewClass, PrevClassTemplate->getTemplatedDecl()); + AddPushedVisibilityAttribute(NewClass); if (TUK != TUK_Friend) @@ -1138,8 +1141,6 @@ Sema::CheckClassTemplate(Scope *S, unsigned TagSpec, TagUseKind TUK, NewTemplate->setInvalidDecl(); NewClass->setInvalidDecl(); } - if (PrevClassTemplate) - mergeDeclAttributes(NewClass, PrevClassTemplate->getTemplatedDecl()); ActOnDocumentableDecl(NewTemplate); |