diff options
author | John McCall <rjmccall@apple.com> | 2010-12-14 07:30:51 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-12-14 07:30:51 +0000 |
commit | 5546da68bb616a27e06a3f8a4cfc0a275916a14e (patch) | |
tree | 7c40bef1ecfdc6a39c54e5137f52639c5f6e1f74 /clang/lib/Serialization | |
parent | 9fd838d31b44108b99327ebc927ed8bed70634f9 (diff) | |
download | bcm5719-llvm-5546da68bb616a27e06a3f8a4cfc0a275916a14e.tar.gz bcm5719-llvm-5546da68bb616a27e06a3f8a4cfc0a275916a14e.zip |
Pull out r121752 in case it's causing the selfhost breakage.
llvm-svn: 121759
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 098f71a529a..5fe95bfed46 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -2842,29 +2842,28 @@ QualType ASTReader::ReadTypeRecord(unsigned Index) { case TYPE_FUNCTION_PROTO: { QualType ResultType = GetType(Record[0]); - - FunctionProtoType::ExtProtoInfo EPI; - EPI.ExtInfo = FunctionType::ExtInfo(/*noreturn*/ Record[1], - /*regparm*/ Record[2], - static_cast<CallingConv>(Record[3])); - + bool NoReturn = Record[1]; + unsigned RegParm = Record[2]; + CallingConv CallConv = (CallingConv)Record[3]; unsigned Idx = 4; unsigned NumParams = Record[Idx++]; llvm::SmallVector<QualType, 16> ParamTypes; for (unsigned I = 0; I != NumParams; ++I) ParamTypes.push_back(GetType(Record[Idx++])); - - EPI.Variadic = Record[Idx++]; - EPI.TypeQuals = Record[Idx++]; - EPI.HasExceptionSpec = Record[Idx++]; - EPI.HasAnyExceptionSpec = Record[Idx++]; - EPI.NumExceptions = Record[Idx++]; + bool isVariadic = Record[Idx++]; + unsigned Quals = Record[Idx++]; + bool hasExceptionSpec = Record[Idx++]; + bool hasAnyExceptionSpec = Record[Idx++]; + unsigned NumExceptions = Record[Idx++]; llvm::SmallVector<QualType, 2> Exceptions; - for (unsigned I = 0; I != EPI.NumExceptions; ++I) + for (unsigned I = 0; I != NumExceptions; ++I) Exceptions.push_back(GetType(Record[Idx++])); - EPI.Exceptions = Exceptions.data(); return Context->getFunctionType(ResultType, ParamTypes.data(), NumParams, - EPI); + isVariadic, Quals, hasExceptionSpec, + hasAnyExceptionSpec, NumExceptions, + Exceptions.data(), + FunctionType::ExtInfo(NoReturn, RegParm, + CallConv)); } case TYPE_UNRESOLVED_USING: |