rust/src/librustc_trans
bors 780707490f Auto merge of #49672 - alexcrichton:fix-another-std-core-cycle, r=michaelwoerister
Fix another circular deps link args issue

It turns out that the support in #49316 wasn't enough to handle all cases
notably the example in #48661. The underlying bug was connected to panic=abort
where lang items were listed in the `missing_lang_items` sets but didn't
actually exist anywhere.

This caused the linker backend to deduce that start-group/end-group wasn't
needed because not all items were defined. Instead the missing lang items that
don't actually need to have a definition are filtered out and not considered for
the start-group/end-group arguments

Closes #48661
2018-04-07 17:14:46 +00:00
..
back Allow for re-using hidden monomorphizations on platforms that don't support Rust dylibs. 2018-04-06 12:14:08 +02:00
debuginfo refactor: simplify needs_gdb_debug_scripts_section 2018-04-06 15:48:06 +02:00
mir Added UserAssertTy statement. 2018-03-22 21:10:59 +00:00
abi.rs Auto merge of #49019 - phil-opp:target-spec, r=pnkfelix 2018-03-28 12:56:09 +00:00
allocator.rs
asm.rs
attributes.rs librustc: Convert -C pgo-gen and -C pgo-use into -Z flags. 2018-03-25 03:30:06 +02:00
base.rs Auto merge of #49672 - alexcrichton:fix-another-std-core-cycle, r=michaelwoerister 2018-04-07 17:14:46 +00:00
build.rs
builder.rs properly handle the case when LLVM does not have min/maxnum 2018-03-26 10:20:41 +02:00
cabi_aarch64.rs
cabi_arm.rs
cabi_asmjs.rs
cabi_hexagon.rs
cabi_mips64.rs rustc_trans: fix small aggregate returns for big-endian mips64 FFI 2018-03-14 20:18:30 +01:00
cabi_mips.rs
cabi_msp430.rs
cabi_nvptx64.rs
cabi_nvptx.rs
cabi_powerpc64.rs
cabi_powerpc.rs
cabi_s390x.rs
cabi_sparc64.rs
cabi_sparc.rs
cabi_wasm32.rs rustc: Start a custom cabi module for wasm32 2018-03-12 13:09:03 -07:00
cabi_x86_64.rs
cabi_x86_win64.rs
cabi_x86.rs
callee.rs Update a few comments about symbol visibility. 2018-04-06 12:14:08 +02:00
Cargo.toml
common.rs Rollup merge of #48983 - gnzlbg:red, r=alexcrichton 2018-03-17 17:20:43 +08:00
consts.rs
context.rs refactor ParamEnv::empty(Reveal) into two distinct methods 2018-03-13 11:21:30 -04:00
declare.rs transition various normalization functions to the new methods 2018-03-13 11:22:07 -04:00
diagnostics.rs
glue.rs
intrinsic.rs implement minmax intrinsics 2018-03-26 10:20:41 +02:00
lib.rs Auto merge of #49672 - alexcrichton:fix-another-std-core-cycle, r=michaelwoerister 2018-04-07 17:14:46 +00:00
llvm_util.rs librustc_trans: Gate the preinliner with another -Z flag. 2018-03-25 03:30:06 +02:00
metadata.rs
meth.rs
README.md Replace many of the last references to readmes 2018-03-16 12:43:22 -05:00
time_graph.rs
trans_item.rs
type_.rs
type_of.rs transition various normalization functions to the new methods 2018-03-13 11:22:07 -04:00
value.rs

The trans crate contains the code to convert from MIR into LLVM IR, and then from LLVM IR into machine code. In general it contains code that runs towards the end of the compilation process.

For more information about how trans works, see the rustc guide.