diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 3aea74e79d2..3c8d377a4c6 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -663,6 +663,9 @@ static bool LinkFunctionProtos(Module *Dest, const Module *Src, "': symbols have different visibilities!"); } + if (DF && DF->hasInternalLinkage()) + DF = NULL; + if (DF && DF->getType() != SF->getType()) { if (DF->isDeclaration() && !SF->isDeclaration()) { // We have a definition of the same name but different type in the