summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTReader.cpp
diff options
context:
space:
mode:
authorRichard Trieu <rtrieu@google.com>2017-06-21 01:43:13 +0000
committerRichard Trieu <rtrieu@google.com>2017-06-21 01:43:13 +0000
commitca48d369bac37ee9f2d4b44c50303fb0b1e73b44 (patch)
treedb7ef9b8420f3bbf8e28ab0be3b6a663db2676b9 /clang/lib/Serialization/ASTReader.cpp
parentff7b8ea2a06fd0ff40d9df03ff9e58cb8d38aa38 (diff)
downloadbcm5719-llvm-ca48d369bac37ee9f2d4b44c50303fb0b1e73b44.tar.gz
bcm5719-llvm-ca48d369bac37ee9f2d4b44c50303fb0b1e73b44.zip
[ODRHash] Supply more information when generic error message is emitted.
llvm-svn: 305872
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r--clang/lib/Serialization/ASTReader.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index eeb0132c169..d033a9b32c0 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -9324,9 +9324,20 @@ void ASTReader::diagnoseOdrViolations() {
diag::err_module_odr_violation_different_definitions)
<< FirstRecord << FirstModule.empty() << FirstModule;
+ if (FirstDecl) {
+ Diag(FirstDecl->getLocation(), diag::note_first_module_difference)
+ << FirstRecord << FirstDecl->getSourceRange();
+ }
+
Diag(SecondRecord->getLocation(),
diag::note_module_odr_violation_different_definitions)
<< SecondModule;
+
+ if (SecondDecl) {
+ Diag(SecondDecl->getLocation(), diag::note_second_module_difference)
+ << SecondDecl->getSourceRange();
+ }
+
Diagnosed = true;
break;
}
OpenPOWER on IntegriCloud