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