Commit 83d2dae0 authored by Tanya Lattner's avatar Tanya Lattner
Browse files

Merge from mainline.

Properly handle linking of strong alias with weak function, this fixes
      PR2883

llvm-svn: 57707
parent b3b4f8ec
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -984,7 +984,7 @@ static bool LinkFunctionProtos(Module *Dest, const Module *Src,
      // The only valid mappings are:
      // - SF is external declaration, which is effectively a no-op.
      // - SF is weak, when we just need to throw SF out.
      if (!SF->isDeclaration())
      if (!SF->isDeclaration() && !SF->mayBeOverridden())
        return Error(Err, "Function-Alias Collision on '" + SF->getName() +
                     "': symbol multiple defined");
    }