diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-09-04 15:33:34 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-09-04 15:33:34 +0000 |
commit | fac3a018d1f7260a70b9def030ef5a3866d1901e (patch) | |
tree | 2075457baa52d82a6b65c36a6e02b5f173a6c4e5 /llvm/lib/Linker | |
parent | 6272680119207df64126af584eca596260de867f (diff) | |
download | bcm5719-llvm-fac3a018d1f7260a70b9def030ef5a3866d1901e.tar.gz bcm5719-llvm-fac3a018d1f7260a70b9def030ef5a3866d1901e.zip |
Error on linking appending globals with different unnamed_addr.
llvm-svn: 189950
Diffstat (limited to 'llvm/lib/Linker')
-rw-r--r-- | llvm/lib/Linker/LinkModules.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Linker/LinkModules.cpp b/llvm/lib/Linker/LinkModules.cpp index 16e2851f0bc..4fffa55fe4d 100644 --- a/llvm/lib/Linker/LinkModules.cpp +++ b/llvm/lib/Linker/LinkModules.cpp @@ -704,7 +704,11 @@ bool ModuleLinker::linkAppendingVarProto(GlobalVariable *DstGV, if (DstGV->getVisibility() != SrcGV->getVisibility()) return emitError( "Appending variables with different visibility need to be linked!"); - + + if (DstGV->hasUnnamedAddr() != SrcGV->hasUnnamedAddr()) + return emitError( + "Appending variables with different unnamed_addr need to be linked!"); + if (DstGV->getSection() != SrcGV->getSection()) return emitError( "Appending variables with different section name need to be linked!"); |