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-head mailing list