diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-21 17:47:47 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-21 17:47:47 +0000 |
commit | 8b987a99767fa8fc6e848a8ae6fb8b19ed2c3d29 (patch) | |
tree | 857d12e6b891927d71aa4de04ac73b1ad1b0dbd0 /clang/lib/Serialization/ASTReader.cpp | |
parent | 0ab75fd27f4d02e9a8326148456b737974d00ad0 (diff) | |
download | bcm5719-llvm-8b987a99767fa8fc6e848a8ae6fb8b19ed2c3d29.tar.gz bcm5719-llvm-8b987a99767fa8fc6e848a8ae6fb8b19ed2c3d29.zip |
Fix serialization of uninstantiated exception specifications. Patch by Li Kan,
test by me.
llvm-svn: 155289
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 06b42f3ab13..fd0c1713946 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3866,6 +3866,9 @@ QualType ASTReader::readTypeRecord(unsigned Index) { EPI.Exceptions = Exceptions.data(); } else if (EST == EST_ComputedNoexcept) { EPI.NoexceptExpr = ReadExpr(*Loc.F); + } else if (EST == EST_Uninstantiated) { + EPI.ExceptionSpecDecl = ReadDeclAs<FunctionDecl>(*Loc.F, Record, Idx); + EPI.ExceptionSpecTemplate = ReadDeclAs<FunctionDecl>(*Loc.F, Record, Idx); } return Context.getFunctionType(ResultType, ParamTypes.data(), NumParams, EPI); |