Changes in directory llvm/lib/Linker:
LinkModules.cpp updated: 1.123 -> 1.124 --- Log message: extern_weak linkage. fixes PR1038: http://llvm.org/PR1038 --- Diffs of the changes: (+5 -1) LinkModules.cpp | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) Index: llvm/lib/Linker/LinkModules.cpp diff -u llvm/lib/Linker/LinkModules.cpp:1.123 llvm/lib/Linker/LinkModules.cpp:1.124 --- llvm/lib/Linker/LinkModules.cpp:1.123 Mon Dec 11 23:04:59 2006 +++ llvm/lib/Linker/LinkModules.cpp Fri Dec 15 11:35:32 2006 @@ -365,6 +365,10 @@ LinkFromSrc = true; LT = Src->getLinkage(); } + } else if (Dest->hasExternalWeakLinkage()) { + //If the Dest is weak, use the source linkage + LinkFromSrc = true; + LT = Src->getLinkage(); } else { LinkFromSrc = false; LT = Dest->getLinkage(); @@ -446,7 +450,7 @@ if (DGV && DGV->hasInternalLinkage()) DGV = 0; - assert(SGV->hasInitializer() || + assert(SGV->hasInitializer() || SGV->hasExternalWeakLinkage() || SGV->hasExternalLinkage() || SGV->hasDLLImportLinkage() && "Global must either be external or have an initializer!"); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits