svn commit: r239619 - head/contrib/llvm/tools/clang/lib/Sema
Dimitry Andric
dim at FreeBSD.org
Thu Aug 23 18:15:00 UTC 2012
Author: dim
Date: Thu Aug 23 18:14:59 2012
New Revision: 239619
URL: http://svn.freebsd.org/changeset/base/239619
Log:
Pull in r162360 from upstream clang trunk:
Merge existing attributes before processing pragmas in friend template
declarations.
Fixes pr13662.
This should help when building Firefox with libc++.
Modified:
head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
Modified: head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp Thu Aug 23 17:58:22 2012 (r239618)
+++ head/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp Thu Aug 23 18:14:59 2012 (r239619)
@@ -1104,6 +1104,9 @@ Sema::CheckClassTemplate(Scope *S, unsig
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, unsig
NewTemplate->setInvalidDecl();
NewClass->setInvalidDecl();
}
- if (PrevClassTemplate)
- mergeDeclAttributes(NewClass, PrevClassTemplate->getTemplatedDecl());
ActOnDocumentableDecl(NewTemplate);
More information about the svn-src-all
mailing list