summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-08-19 21:09:32 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-08-19 21:09:32 +0000
commit1d0f1996df1dbb74a532cead1cdba2c490bc545b (patch)
treed929ae49f378dc9b4b62f4826f2c86f8baccb06a /clang/lib
parentd30dc3fc75fdae8221e7880a2ceece3ac12c98d7 (diff)
downloadbcm5719-llvm-1d0f1996df1dbb74a532cead1cdba2c490bc545b.tar.gz
bcm5719-llvm-1d0f1996df1dbb74a532cead1cdba2c490bc545b.zip
[modules] Don't needlessly bounce through Sema when updating exception specifications.
llvm-svn: 245501
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Serialization/ASTReader.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp
index fc9d29a9080..440ca6d74bf 100644
--- a/clang/lib/Serialization/ASTReader.cpp
+++ b/clang/lib/Serialization/ASTReader.cpp
@@ -8439,8 +8439,9 @@ void ASTReader::FinishedDeserializing() {
PendingExceptionSpecUpdates.clear();
for (auto Update : Updates) {
auto *FPT = Update.second->getType()->castAs<FunctionProtoType>();
- SemaObj->UpdateExceptionSpec(Update.second,
- FPT->getExtProtoInfo().ExceptionSpec);
+ auto ESI = FPT->getExtProtoInfo().ExceptionSpec;
+ for (auto *Redecl : Update.second->redecls())
+ Context.adjustExceptionSpec(cast<FunctionDecl>(Redecl), ESI);
}
}
OpenPOWER on IntegriCloud