Store output and input operands as well as clobber information in the AsmStmt. Ted, could you please review the serialization/deserialization code?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44266 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index 78cc888..f747cef 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -347,7 +347,14 @@
                                      ExprTy *RetValExp);
   
   virtual StmtResult ActOnAsmStmt(SourceLocation AsmLoc,
+                                  unsigned NumOutputs,
+                                  unsigned NumInputs,
+                                  std::string *Names,
+                                  ExprTy **Constraints,
+                                  ExprTy **Exprs,
                                   ExprTy *AsmString,
+                                  unsigned NumClobbers,
+                                  ExprTy **Clobbers,
                                   SourceLocation RParenLoc);
   
   virtual StmtResult ActOnObjcAtCatchStmt(SourceLocation AtLoc,