]> granicus.if.org Git - clang/commitdiff
Implemented serialization of AsmStmt (or rather what is currently implemented
authorTed Kremenek <kremenek@apple.com>
Tue, 13 Nov 2007 22:55:51 +0000 (22:55 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 13 Nov 2007 22:55:51 +0000 (22:55 +0000)
in AsmStmt).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44077 91177308-0d34-0410-b5e6-96231b3b80d8

AST/StmtSerialization.cpp
include/clang/AST/Stmt.h

index 10563bd0ca794e9763d8991c06de920b8ebda98e..043efb09d5b12b10dc035434cb33466cb61af37f 100644 (file)
@@ -41,6 +41,9 @@ Stmt* Stmt::Create(Deserializer& D) {
     case ArraySubscriptExprClass:
       return ArraySubscriptExpr::CreateImpl(D);
       
+    case AsmStmtClass:
+      return AsmStmt::CreateImpl(D);
+      
     case BinaryOperatorClass:
       return BinaryOperator::CreateImpl(D);
       
@@ -175,6 +178,18 @@ ArraySubscriptExpr* ArraySubscriptExpr::CreateImpl(Deserializer& D) {
   return new ArraySubscriptExpr(LHS,RHS,t,L);  
 }
 
+void AsmStmt::EmitImpl(Serializer& S) const {
+  S.Emit(AsmLoc);
+  S.Emit(RParenLoc);  
+}
+
+AsmStmt* AsmStmt::CreateImpl(Deserializer& D) {
+  SourceLocation ALoc = SourceLocation::ReadVal(D);
+  SourceLocation PLoc = SourceLocation::ReadVal(D);
+  
+  return new AsmStmt(ALoc,PLoc);  
+}
+
 void BinaryOperator::EmitImpl(Serializer& S) const {
   S.EmitInt(Opc);
   S.Emit(OpLoc);;
index 9e557a323e381b8008becf568f4caa4d82b26c45..20344829d0ea272c10f4c08868efe65efbb2867f 100644 (file)
@@ -718,6 +718,9 @@ public:
   
   virtual child_iterator child_begin();
   virtual child_iterator child_end();
+  
+  virtual void EmitImpl(llvm::Serializer& S) const;
+  static AsmStmt* CreateImpl(llvm::Deserializer& D);
 };
   
 /// ObjcAtCatchStmt - This represents objective-c's @catch statement.