introduce the MCParsedAsmOperand class.
authorChris Lattner <sabre@nondot.org>
Thu, 14 Jan 2010 21:20:55 +0000 (21:20 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 14 Jan 2010 21:20:55 +0000 (21:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93454 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCParsedAsmOperand.h [new file with mode: 0644]
lib/Target/X86/AsmParser/X86AsmParser.cpp

diff --git a/include/llvm/MC/MCParsedAsmOperand.h b/include/llvm/MC/MCParsedAsmOperand.h
new file mode 100644 (file)
index 0000000..7c9e9e6
--- /dev/null
@@ -0,0 +1,28 @@
+//===-- llvm/MC/MCParsedAsmOperand.h - Asm Parser Operand -------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_MC_MCASMOPERAND_H
+#define LLVM_MC_MCASMOPERAND_H
+
+namespace llvm {
+
+/// MCParsedAsmOperand - This abstract class represents a source-level assembly
+/// instruction operand.  It should be subclassed by target-specific code.  This
+/// base class is used by target-independent clients and is the interface
+/// between parsing an asm instruction and recognizing it.
+class MCParsedAsmOperand {
+public:  
+  MCParsedAsmOperand();
+  virtual ~MCParsedAsmOperand() = 0;
+  // TODO: Out of line vfun.
+};
+
+} // end namespace llvm.
+
+#endif
index c357b4d0dee1533c55a3a1cd4ba27e7123f8e8a7..1237c45c5f948896fb5e00b2e8ff64ade78e60da 100644 (file)
@@ -15,6 +15,7 @@
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCInst.h"
+#include "llvm/MC/MCParsedAsmOperand.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Target/TargetAsmParser.h"
@@ -71,7 +72,7 @@ namespace {
 
 /// X86Operand - Instances of this class represent a parsed X86 machine
 /// instruction.
-struct X86Operand {
+struct X86Operand : public MCParsedAsmOperand {
   enum {
     Token,
     Register,