51 lines · c
1/*===-- llvm-c/Linker.h - Module Linker C Interface -------------*- C++ -*-===*\2|* *|3|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|4|* Exceptions. *|5|* See https://llvm.org/LICENSE.txt for license information. *|6|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|7|* *|8|*===----------------------------------------------------------------------===*|9|* *|10|* This file defines the C interface to the module/file/archive linker. *|11|* *|12\*===----------------------------------------------------------------------===*/13 14#ifndef LLVM_C_LINKER_H15#define LLVM_C_LINKER_H16 17#include "llvm-c/ExternC.h"18#include "llvm-c/Types.h"19#include "llvm-c/Visibility.h"20 21LLVM_C_EXTERN_C_BEGIN22 23/**24 * @defgroup LLVMCCoreLinker Linker25 * @ingroup LLVMCCore26 *27 * @{28 */29 30/* This enum is provided for backwards-compatibility only. It has no effect. */31typedef enum {32 LLVMLinkerDestroySource = 0, /* This is the default behavior. */33 LLVMLinkerPreserveSource_Removed = 1 /* This option has been deprecated and34 should not be used. */35} LLVMLinkerMode;36 37/* Links the source module into the destination module. The source module is38 * destroyed.39 * The return value is true if an error occurred, false otherwise.40 * Use the diagnostic handler to get any diagnostic message.41*/42LLVM_C_ABI LLVMBool LLVMLinkModules2(LLVMModuleRef Dest, LLVMModuleRef Src);43 44LLVM_C_EXTERN_C_END45 46/**47 * @}48 */49 50#endif51