aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Linker/LinkModules.cpp4
-rw-r--r--lib/Transforms/Utils/Linker.cpp4
-rw-r--r--lib/VMCore/Linker.cpp4
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index 65b05cd..b5cec06 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -469,6 +469,10 @@ static bool LinkFunctionBodies(Module *Dest, const Module *Src,
// shouldn't be relied on to be consistent.
//
bool LinkModules(Module *Dest, const Module *Src, std::string *ErrorMsg) {
+ if (Dest->getEndianness() != Src->getEndianness())
+ std::cerr << "WARNING: Linking two modules of different endianness!\n";
+ if (Dest->getPointerSize() != Src->getPointerSize())
+ std::cerr << "WARNING: Linking two modules of different pointer size!\n";
// LinkTypes - Go through the symbol table of the Src module and see if any
// types are named in the src module that are not named in the Dst module.
diff --git a/lib/Transforms/Utils/Linker.cpp b/lib/Transforms/Utils/Linker.cpp
index 65b05cd..b5cec06 100644
--- a/lib/Transforms/Utils/Linker.cpp
+++ b/lib/Transforms/Utils/Linker.cpp
@@ -469,6 +469,10 @@ static bool LinkFunctionBodies(Module *Dest, const Module *Src,
// shouldn't be relied on to be consistent.
//
bool LinkModules(Module *Dest, const Module *Src, std::string *ErrorMsg) {
+ if (Dest->getEndianness() != Src->getEndianness())
+ std::cerr << "WARNING: Linking two modules of different endianness!\n";
+ if (Dest->getPointerSize() != Src->getPointerSize())
+ std::cerr << "WARNING: Linking two modules of different pointer size!\n";
// LinkTypes - Go through the symbol table of the Src module and see if any
// types are named in the src module that are not named in the Dst module.
diff --git a/lib/VMCore/Linker.cpp b/lib/VMCore/Linker.cpp
index 65b05cd..b5cec06 100644
--- a/lib/VMCore/Linker.cpp
+++ b/lib/VMCore/Linker.cpp
@@ -469,6 +469,10 @@ static bool LinkFunctionBodies(Module *Dest, const Module *Src,
// shouldn't be relied on to be consistent.
//
bool LinkModules(Module *Dest, const Module *Src, std::string *ErrorMsg) {
+ if (Dest->getEndianness() != Src->getEndianness())
+ std::cerr << "WARNING: Linking two modules of different endianness!\n";
+ if (Dest->getPointerSize() != Src->getPointerSize())
+ std::cerr << "WARNING: Linking two modules of different pointer size!\n";
// LinkTypes - Go through the symbol table of the Src module and see if any
// types are named in the src module that are not named in the Dst module.