diff options
Diffstat (limited to 'lib/Linker/IRMover.cpp')
| -rw-r--r-- | lib/Linker/IRMover.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Linker/IRMover.cpp b/lib/Linker/IRMover.cpp index f486e525b5e7..ee067a912e3c 100644 --- a/lib/Linker/IRMover.cpp +++ b/lib/Linker/IRMover.cpp @@ -640,6 +640,10 @@ GlobalValue *IRLinker::copyGlobalValueProto(const GlobalValue *SGV,    } else {      if (ForDefinition)        NewGV = copyGlobalAliasProto(cast<GlobalAlias>(SGV)); +    else if (SGV->getValueType()->isFunctionTy()) +      NewGV = +          Function::Create(cast<FunctionType>(TypeMap.get(SGV->getValueType())), +                           GlobalValue::ExternalLinkage, SGV->getName(), &DstM);      else        NewGV = new GlobalVariable(            DstM, TypeMap.get(SGV->getValueType()),  | 
