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);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to