diff options
| author | Steve Naroff <snaroff@apple.com> | 2008-11-03 23:29:32 +0000 |
|---|---|---|
| committer | Steve Naroff <snaroff@apple.com> | 2008-11-03 23:29:32 +0000 |
| commit | c989a7b6c097bb06b7662b472528720fd14fde4b (patch) | |
| tree | 0bb08c76c40e8f0880ffeede5ea1d080a18aaf65 /clang/lib | |
| parent | d26344d252dbfc404c7221edbfd11f89640eb690 (diff) | |
| download | bcm5719-llvm-c989a7b6c097bb06b7662b472528720fd14fde4b.tar.gz bcm5719-llvm-c989a7b6c097bb06b7662b472528720fd14fde4b.zip | |
Fix <rdar://problem/6339636> clang ObjC rewriter: Assertion failed: FileID-1 < FileIDs.size() && "Invalid FileID!", file c:\cygwin\home\Administrator\llvm\tools\clang\include\clang/Basic/SourceManager.h, line 513
llvm-svn: 58654
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/StmtSerialization.cpp | 8 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/AST/StmtSerialization.cpp b/clang/lib/AST/StmtSerialization.cpp index 8aa7e289e4d..5f87b68dba5 100644 --- a/clang/lib/AST/StmtSerialization.cpp +++ b/clang/lib/AST/StmtSerialization.cpp @@ -379,16 +379,18 @@ CaseStmt* CaseStmt::CreateImpl(Deserializer& D, ASTContext& C) { void CStyleCastExpr::EmitImpl(Serializer& S) const { S.Emit(getType()); S.Emit(getTypeAsWritten()); - S.Emit(Loc); + S.Emit(LPLoc); + S.Emit(RPLoc); S.EmitOwnedPtr(getSubExpr()); } CStyleCastExpr* CStyleCastExpr::CreateImpl(Deserializer& D, ASTContext& C) { QualType t = QualType::ReadVal(D); QualType writtenTy = QualType::ReadVal(D); - SourceLocation Loc = SourceLocation::ReadVal(D); + SourceLocation LPLoc = SourceLocation::ReadVal(D); + SourceLocation RPLoc = SourceLocation::ReadVal(D); Expr* Op = D.ReadOwnedPtr<Expr>(C); - return new CStyleCastExpr(t,Op,writtenTy,Loc); + return new CStyleCastExpr(t,Op,writtenTy,LPLoc,RPLoc); } void CharacterLiteral::EmitImpl(Serializer& S) const { diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index b23db487677..f06a04101b8 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -1324,7 +1324,7 @@ ActOnCastExpr(SourceLocation LParenLoc, TypeTy *Ty, if (CheckCastTypes(SourceRange(LParenLoc, RParenLoc), castType, castExpr)) return true; - return new CStyleCastExpr(castType, castExpr, castType, LParenLoc); + return new CStyleCastExpr(castType, castExpr, castType, LParenLoc, RParenLoc); } /// Note that lex is not null here, even if this is the gnu "x ?: y" extension. |

