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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58654 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/StmtSerialization.cpp b/lib/AST/StmtSerialization.cpp
index 8aa7e28..5f87b68 100644
--- a/lib/AST/StmtSerialization.cpp
+++ b/lib/AST/StmtSerialization.cpp
@@ -379,16 +379,18 @@
 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 {