mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Restore LLVMLinkModules C API until it is properly deprecated.
Add the enum "LLVMLinkerMode" back for backwards-compatibility and add the linker mode parameter back to the "LLVMLinkModules" function. The paramter is ignored and has no effect. Patch provided by: Filip Pizlo Reviewed by: Rafael and Sean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230988 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e8676a29bb
commit
0a5c3015f8
@ -22,7 +22,7 @@ import "errors"
|
||||
|
||||
func LinkModules(Dest, Src Module) error {
|
||||
var cmsg *C.char
|
||||
failed := C.LLVMLinkModules(Dest.C, Src.C, 0, &cmsg)
|
||||
failed := C.LLVMLinkModules(Dest.C, Src.C, C.LLVMLinkerDestroySource, &cmsg)
|
||||
if failed != 0 {
|
||||
err := errors.New(C.GoString(cmsg))
|
||||
C.LLVMDisposeMessage(cmsg)
|
||||
|
@ -20,13 +20,23 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* This enum is provided for backwards-compatibility only. It has no effect. */
|
||||
typedef enum {
|
||||
LLVMLinkerDestroySource = 0, /* This is the default behavior. */
|
||||
LLVMLinkerPreserveSource_Removed = 1 /* This option has been deprecated and
|
||||
should not be used. */
|
||||
} LLVMLinkerMode;
|
||||
|
||||
/* Links the source module into the destination module, taking ownership
|
||||
* of the source module away from the caller. Optionally returns a
|
||||
* human-readable description of any errors that occurred in linking.
|
||||
* OutMessage must be disposed with LLVMDisposeMessage. The return value
|
||||
* is true if an error occurred, false otherwise. */
|
||||
* is true if an error occurred, false otherwise.
|
||||
*
|
||||
* Note that the linker mode parameter \p Unused is no longer used, and has
|
||||
* no effect. */
|
||||
LLVMBool LLVMLinkModules(LLVMModuleRef Dest, LLVMModuleRef Src,
|
||||
unsigned Unused, char **OutMessage);
|
||||
LLVMLinkerMode Unused, char **OutMessage);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1777,7 +1777,7 @@ bool Linker::LinkModules(Module *Dest, Module *Src) {
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
LLVMBool LLVMLinkModules(LLVMModuleRef Dest, LLVMModuleRef Src,
|
||||
unsigned Unused, char **OutMessages) {
|
||||
LLVMLinkerMode Unused, char **OutMessages) {
|
||||
Module *D = unwrap(Dest);
|
||||
std::string Message;
|
||||
raw_string_ostream Stream(Message);
|
||||
|
Loading…
Reference in New Issue
Block a user