mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
359dea2a6b
Type specific declarations have been moved to Type.h and error handling routines have been moved to ErrorHandling.h. Both are included in Core.h so nothing should change for projects directly including the headers, but transitive dependencies may be affected. llvm-svn: 255965
60 lines
2.3 KiB
C++
60 lines
2.3 KiB
C++
/*===-- llvm-c/BitWriter.h - BitWriter Library C Interface ------*- C++ -*-===*\
|
|
|* *|
|
|
|* The LLVM Compiler Infrastructure *|
|
|
|* *|
|
|
|* This file is distributed under the University of Illinois Open Source *|
|
|
|* License. See LICENSE.TXT for details. *|
|
|
|* *|
|
|
|*===----------------------------------------------------------------------===*|
|
|
|* *|
|
|
|* This header declares the C interface to libLLVMBitWriter.a, which *|
|
|
|* implements output of the LLVM bitcode format. *|
|
|
|* *|
|
|
|* Many exotic languages can interoperate with C code but have a harder time *|
|
|
|* with C++ due to name mangling. So in addition to C, this interface enables *|
|
|
|* tools written in such languages. *|
|
|
|* *|
|
|
\*===----------------------------------------------------------------------===*/
|
|
|
|
#ifndef LLVM_C_BITWRITER_H
|
|
#define LLVM_C_BITWRITER_H
|
|
|
|
#include "llvm-c/Types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @defgroup LLVMCBitWriter Bit Writer
|
|
* @ingroup LLVMC
|
|
*
|
|
* @{
|
|
*/
|
|
|
|
/*===-- Operations on modules ---------------------------------------------===*/
|
|
|
|
/** Writes a module to the specified path. Returns 0 on success. */
|
|
int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path);
|
|
|
|
/** Writes a module to an open file descriptor. Returns 0 on success. */
|
|
int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose,
|
|
int Unbuffered);
|
|
|
|
/** Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file
|
|
descriptor. Returns 0 on success. Closes the Handle. */
|
|
int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle);
|
|
|
|
/** Writes a module to a new memory buffer and returns it. */
|
|
LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|