diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-02-16 06:37:49 -0500 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-02-16 12:45:41 -0500 |
| commit | eeee0e8f4c30301d079ab225f093804c939c3ef3 (patch) | |
| tree | fc0d062eec70f07c72d013feff53d45565bc24fc | |
| parent | c5db290bf6df986a6acd5ce993f278c18e55ca37 (diff) | |
| download | rust-eeee0e8f4c30301d079ab225f093804c939c3ef3.tar.gz rust-eeee0e8f4c30301d079ab225f093804c939c3ef3.zip | |
Remove hax
Fixes #19321
| -rw-r--r-- | src/librustc_llvm/lib.rs | 61 |
1 files changed, 1 insertions, 60 deletions
diff --git a/src/librustc_llvm/lib.rs b/src/librustc_llvm/lib.rs index 878070e98e7..a8b08655355 100644 --- a/src/librustc_llvm/lib.rs +++ b/src/librustc_llvm/lib.rs @@ -58,7 +58,7 @@ pub use self::Linkage::*; use std::ffi::CString; use std::cell::RefCell; -use std::{raw, mem, ptr}; +use std::{raw, mem}; use libc::{c_uint, c_ushort, uint64_t, c_int, size_t, c_char}; use libc::{c_longlong, c_ulonglong, c_void}; use debuginfo::{DIBuilderRef, DIDescriptor, @@ -2225,65 +2225,6 @@ pub unsafe fn debug_loc_to_string(c: ContextRef, tr: DebugLocRef) -> String { .expect("got a non-UTF8 DebugLoc from LLVM") } -// FIXME #15460 - create a public function that actually calls our -// static LLVM symbols. Otherwise the linker will just throw llvm -// away. We're just calling lots of stuff until we transitively get -// all of LLVM. This is worse than anything. -pub unsafe fn static_link_hack_this_sucks() { - LLVMInitializePasses(); - - LLVMInitializeX86TargetInfo(); - LLVMInitializeX86Target(); - LLVMInitializeX86TargetMC(); - LLVMInitializeX86AsmPrinter(); - LLVMInitializeX86AsmParser(); - - LLVMInitializeARMTargetInfo(); - LLVMInitializeARMTarget(); - LLVMInitializeARMTargetMC(); - LLVMInitializeARMAsmPrinter(); - LLVMInitializeARMAsmParser(); - - LLVMInitializeAArch64TargetInfo(); - LLVMInitializeAArch64Target(); - LLVMInitializeAArch64TargetMC(); - LLVMInitializeAArch64AsmPrinter(); - LLVMInitializeAArch64AsmParser(); - - LLVMInitializeMipsTargetInfo(); - LLVMInitializeMipsTarget(); - LLVMInitializeMipsTargetMC(); - LLVMInitializeMipsAsmPrinter(); - LLVMInitializeMipsAsmParser(); - - LLVMInitializePowerPCTargetInfo(); - LLVMInitializePowerPCTarget(); - LLVMInitializePowerPCTargetMC(); - LLVMInitializePowerPCAsmPrinter(); - LLVMInitializePowerPCAsmParser(); - - LLVMRustSetLLVMOptions(0 as c_int, ptr::null()); - - LLVMPassManagerBuilderPopulateModulePassManager(ptr::null_mut(), ptr::null_mut()); - LLVMPassManagerBuilderPopulateLTOPassManager(ptr::null_mut(), ptr::null_mut(), False, False); - LLVMPassManagerBuilderPopulateFunctionPassManager(ptr::null_mut(), ptr::null_mut()); - LLVMPassManagerBuilderSetOptLevel(ptr::null_mut(), 0 as c_uint); - LLVMPassManagerBuilderUseInlinerWithThreshold(ptr::null_mut(), 0 as c_uint); - LLVMWriteBitcodeToFile(ptr::null_mut(), ptr::null()); - LLVMPassManagerBuilderCreate(); - LLVMPassManagerBuilderDispose(ptr::null_mut()); - - LLVMRustLinkInExternalBitcode(ptr::null_mut(), ptr::null(), 0 as size_t); - - LLVMLinkInMCJIT(); - LLVMLinkInInterpreter(); - - extern { - fn LLVMLinkInMCJIT(); - fn LLVMLinkInInterpreter(); - } -} - // The module containing the native LLVM dependencies, generated by the build system // Note that this must come after the rustllvm extern declaration so that // parts of LLVM that rustllvm depends on aren't thrown away by the linker. |
