diff options
| author | Ted Kremenek <kremenek@apple.com> | 2007-11-13 22:30:29 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2007-11-13 22:30:29 +0000 |
| commit | da551c3b1e68d989ebd56068eba8c8e8e28d74e4 (patch) | |
| tree | 13f916cf69a3083d63e4321192e4326abbba781d /clang/AST/StmtSerialization.cpp | |
| parent | b8f51d551204458cc980093c3bfcc985a72ad801 (diff) | |
| download | bcm5719-llvm-da551c3b1e68d989ebd56068eba8c8e8e28d74e4.tar.gz bcm5719-llvm-da551c3b1e68d989ebd56068eba8c8e8e28d74e4.zip | |
Implemented serialization for SizeOfAlignOfTypeExpr.
llvm-svn: 44075
Diffstat (limited to 'clang/AST/StmtSerialization.cpp')
| -rw-r--r-- | clang/AST/StmtSerialization.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/AST/StmtSerialization.cpp b/clang/AST/StmtSerialization.cpp index 44796c8291a..10563bd0ca7 100644 --- a/clang/AST/StmtSerialization.cpp +++ b/clang/AST/StmtSerialization.cpp @@ -125,6 +125,9 @@ Stmt* Stmt::Create(Deserializer& D) { case ReturnStmtClass: return ReturnStmt::CreateImpl(D); + case SizeOfAlignOfTypeExprClass: + return SizeOfAlignOfTypeExpr::CreateImpl(D); + case StmtExprClass: return StmtExpr::CreateImpl(D); @@ -574,6 +577,24 @@ ReturnStmt* ReturnStmt::CreateImpl(Deserializer& D) { return new ReturnStmt(RetLoc,RetExpr); } +void SizeOfAlignOfTypeExpr::EmitImpl(Serializer& S) const { + S.EmitBool(isSizeof); + S.Emit(Ty); + S.Emit(getType()); + S.Emit(OpLoc); + S.Emit(RParenLoc); +} + +SizeOfAlignOfTypeExpr* SizeOfAlignOfTypeExpr::CreateImpl(Deserializer& D) { + bool isSizeof = D.ReadBool(); + QualType Ty = QualType::ReadVal(D); + QualType Res = QualType::ReadVal(D); + SourceLocation OpLoc = SourceLocation::ReadVal(D); + SourceLocation RParenLoc = SourceLocation::ReadVal(D); + + return new SizeOfAlignOfTypeExpr(isSizeof,Ty,Res,OpLoc,RParenLoc); +} + void StmtExpr::EmitImpl(Serializer& S) const { S.Emit(getType()); S.Emit(LParenLoc); |

