From 1c01a72d4d29897763a85a9dd56a3457607ff2ef Mon Sep 17 00:00:00 2001 From: Anton Korobeynikov Date: Wed, 5 Mar 2008 15:11:00 +0000 Subject: [PATCH] Clarify the state-of-the-art git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47944 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Linker/LinkModules.cpp | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 1ae609d4ab8..260bcb419fb 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -568,22 +568,25 @@ static bool LinkGlobals(Module *Dest, Module *Src, // LinkAlias - Loop through the alias in the src module and link them into the // dest module. static bool LinkAlias(Module *Dest, const Module *Src, std::string *Err) { + // FIXME: Desptie of the name, this function currently does not 'link' stuff, + // but only copies aliases from one Module to another. + // Loop over all alias in the src module for (Module::const_alias_iterator I = Src->alias_begin(), E = Src->alias_end(); I != E; ++I) { const GlobalAlias *GA = I; - GlobalValue *NewAliased = NULL; - const GlobalValue *Aliased = GA->getAliasedGlobal(); - if (isa(*Aliased)) - NewAliased = Dest->getGlobalVariable(Aliased->getName()); - else if (isa(*Aliased)) - NewAliased = Dest->getFunction(Aliased->getName()); - // FIXME: we should handle the bitcast alias. - assert(NewAliased && "Can't find the aliased GV."); + GlobalValue *NewAliasee = NULL; + const GlobalValue *Aliasee = GA->getAliasedGlobal(); + if (isa(Aliasee)) + NewAliasee = Dest->getGlobalVariable(Aliasee->getName()); + else if (isa(Aliasee)) + NewAliasee = Dest->getFunction(Aliasee->getName()); + // FIXME: we should handle the bitcasted aliasee. + assert(NewAliasee && "Can't find the aliased GV."); GlobalAlias *NewGA = new GlobalAlias(GA->getType(), GA->getLinkage(), - GA->getName(), NewAliased, Dest); + GA->getName(), NewAliasee, Dest); CopyGVAttributes(NewGA, GA); } return false; -- 2.34.1