OSDN Git Service

Ignore functions with internal linkages during linking. This snipped mimics the
authorAnton Korobeynikov <asl@math.spbu.ru>
Thu, 27 Dec 2007 23:21:57 +0000 (23:21 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Thu, 27 Dec 2007 23:21:57 +0000 (23:21 +0000)
behaviour of LinkGlobals() function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45375 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Linker/LinkModules.cpp

index 3aea74e..3c8d377 100644 (file)
@@ -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