diff options
author | JF Bastien <jfb@google.com> | 2014-03-05 21:26:42 +0000 |
---|---|---|
committer | JF Bastien <jfb@google.com> | 2014-03-05 21:26:42 +0000 |
commit | 9bf239e76fd2c9be759551f19fa59012457eb3e3 (patch) | |
tree | 38da6d7d56e9ea79faf81bce084e87240576678f /lib | |
parent | 9d84b4d70cbd86c462d70a23836ec42323bba591 (diff) | |
download | llvm-9bf239e76fd2c9be759551f19fa59012457eb3e3.tar.gz llvm-9bf239e76fd2c9be759551f19fa59012457eb3e3.tar.bz2 llvm-9bf239e76fd2c9be759551f19fa59012457eb3e3.tar.xz |
Improve LinkModules warnings
Provide triple and data layout as well as module names (or empty string) when there's a mismatch.
Differential Revision: http://llvm-reviews.chandlerc.com/D2971
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203009 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Linker/LinkModules.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index e8f2b3bb6f..a0ce497dd4 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -1210,16 +1210,20 @@ bool ModuleLinker::run() { if (SrcM->getDataLayout() && DstM->getDataLayout() && *SrcM->getDataLayout() != *DstM->getDataLayout()) { if (!SuppressWarnings) { - errs() << "WARNING: Linking two modules of different data layouts!\n"; + errs() << "WARNING: Linking two modules of different data layouts: '" + << SrcM->getModuleIdentifier() << "' is '" + << SrcM->getDataLayoutStr() << "' whereas '" + << DstM->getModuleIdentifier() << "' is '" + << DstM->getDataLayoutStr() << "'\n"; } } if (!SrcM->getTargetTriple().empty() && DstM->getTargetTriple() != SrcM->getTargetTriple()) { if (!SuppressWarnings) { - errs() << "WARNING: Linking two modules of different target triples: "; - if (!SrcM->getModuleIdentifier().empty()) - errs() << SrcM->getModuleIdentifier() << ": "; - errs() << "'" << SrcM->getTargetTriple() << "' and '" + errs() << "WARNING: Linking two modules of different target triples: " + << SrcM->getModuleIdentifier() << "' is '" + << SrcM->getTargetTriple() << "' whereas '" + << DstM->getModuleIdentifier() << "' is '" << DstM->getTargetTriple() << "'\n"; } } |