svn commit: r259278 - releng/10.0/contrib/llvm/tools/clang/lib/CodeGen

Dimitry Andric dim at FreeBSD.org
Thu Dec 12 22:01:43 UTC 2013


Author: dim
Date: Thu Dec 12 22:01:42 2013
New Revision: 259278
URL: http://svnweb.freebsd.org/changeset/base/259278

Log:
  Merge r259214 from stable/10 (head r259100):
  
  Pull in r196658 from upstream clang trunk:
  
    CodeGen: Don't emit linkage on thunks that aren't emitted because they're
    vararg.
  
    This can happen when we're trying to emit a thunk with available_externally
    linkage with optimization enabled but bail because it doesn't make sense for
    vararg functions.
  
    [LLVM] PR18098.
  
  This should fix clang "Broken module found, compilation aborted" errors when
  building the qt4-based dvbcut port.
  
  Reported by:	se
  Approved by:	re (glebius)

Modified:
  releng/10.0/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
Directory Properties:
  releng/10.0/   (props changed)

Modified: releng/10.0/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
==============================================================================
--- releng/10.0/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp	Thu Dec 12 21:51:33 2013	(r259277)
+++ releng/10.0/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp	Thu Dec 12 22:01:42 2013	(r259278)
@@ -454,10 +454,9 @@ void CodeGenVTables::EmitThunk(GlobalDec
   } else {
     // Normal thunk body generation.
     CodeGenFunction(CGM).GenerateThunk(ThunkFn, FnInfo, GD, Thunk);
+    if (UseAvailableExternallyLinkage)
+      ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
   }
-
-  if (UseAvailableExternallyLinkage)
-    ThunkFn->setLinkage(llvm::GlobalValue::AvailableExternallyLinkage);
 }
 
 void CodeGenVTables::MaybeEmitThunkAvailableExternally(GlobalDecl GD,


More information about the svn-src-all mailing list