diff options
-rw-r--r-- | lib/Linker/LinkModules.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 3aea74e79d..3c8d377a4c 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 |