diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-19 21:09:32 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-19 21:09:32 +0000 |
commit | e0066399c8da505d027ff10c42824ea046d01c08 (patch) | |
tree | e36f9237ee607bbe2d2ab78f05b2b6a56e85b965 /lib/Serialization | |
parent | 42b16e6936d5bf91afe89d3811c4d4c7cc1407aa (diff) | |
download | clang-e0066399c8da505d027ff10c42824ea046d01c08.tar.gz |
[modules] Don't needlessly bounce through Sema when updating exception specifications.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization')
-rw-r--r-- | lib/Serialization/ASTReader.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index fc9d29a908..440ca6d74b 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/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); } } |