Refactor common code from ParseAssemblyString and ParseAssemblyFile,
[oota-llvm.git] / include / llvm / Assembly / Parser.h
index 966abaaa2067a5bccf6c5a05b5579f580ec069dd..dc790b0202f4a1ef3c7ef76c86cf1be78a3e2349 100644 (file)
@@ -19,6 +19,7 @@
 namespace llvm {
 
 class Module;
+class MemoryBuffer;
 class SMDiagnostic;
 class raw_ostream;
 class LLVMContext;
@@ -48,6 +49,17 @@ Module *ParseAssemblyString(
   LLVMContext &Context
 );
 
+/// This function is the low-level interface to the LLVM Assembly Parser.
+/// ParseAssemblyFile and ParseAssemblyString are wrappers around this function.
+/// @brief Parse LLVM Assembly from a MemoryBuffer.
+Module *ParseAssembly(
+    MemoryBuffer *F,     ///< The MemoryBuffer containing assembly
+    const std::string &Name, ///< The name of the original source file
+    Module *M,           ///< A module to add the assembly too.
+    SMDiagnostic &Err,   ///< Error result info.
+    LLVMContext &Context
+);
+
 } // End llvm namespace
 
 #endif