Home | History | Annotate | Download | only in llvm-c
      1 /*===-- llvm-c/IRReader.h - IR Reader C Interface -----------------*- C -*-===*\
      2 |*                                                                            *|
      3 |*                     The LLVM Compiler Infrastructure                       *|
      4 |*                                                                            *|
      5 |* This file is distributed under the University of Illinois Open Source      *|
      6 |* License. See LICENSE.TXT for details.                                      *|
      7 |*                                                                            *|
      8 |*===----------------------------------------------------------------------===*|
      9 |*                                                                            *|
     10 |* This file defines the C interface to the IR Reader.                        *|
     11 |*                                                                            *|
     12 \*===----------------------------------------------------------------------===*/
     13 
     14 #ifndef LLVM_C_IRREADER_H
     15 #define LLVM_C_IRREADER_H
     16 
     17 #include "llvm-c/Types.h"
     18 
     19 #ifdef __cplusplus
     20 extern "C" {
     21 #endif
     22 
     23 /**
     24  * Read LLVM IR from a memory buffer and convert it into an in-memory Module
     25  * object. Returns 0 on success.
     26  * Optionally returns a human-readable description of any errors that
     27  * occurred during parsing IR. OutMessage must be disposed with
     28  * LLVMDisposeMessage.
     29  *
     30  * @see llvm::ParseIR()
     31  */
     32 LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
     33                               LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
     34                               char **OutMessage);
     35 
     36 #ifdef __cplusplus
     37 }
     38 #endif
     39 
     40 #endif
     41