rust/src/librustc_trans/trans
bors 2f60268f54 Auto merge of #27689 - dotdash:die_odr, r=michaelwoerister
When using a generic enum type that was defined in an external crate,
our debuginfo currently claims that the concrete type (e.g. Option<i32>)
was defined in the current crate, where it was first used.

This means that if there are multiple crates that all use, for example,
Option<i32> values, they'll have conflicting debuginfo, each crate
claiming to have defined that type. This doesn't cause problems in
regular builds, but with LTO enabled, LLVM complains because it tries to
merge the debuginfo for those types and sees the ODR violations.

Since I couldn't find a way to get the file info for the external crate
that actually defined the enum, I'm working around the issue by using
"<unknown>" as the file for enum types. We'll want to re-visit and fix
this later, but this at least this fixes the ICE. And with the file
being unknown instead of wrong, the debuginfo isn't really worse than
before either.

Fixes #26447
2015-08-16 14:50:52 +00:00
..
debuginfo Auto merge of #27689 - dotdash:die_odr, r=michaelwoerister 2015-08-16 14:50:52 +00:00
_match.rs use VariantDef instead of struct_fields 2015-08-06 16:54:40 +03:00
adt.rs rename ADTDef to AdtDef etc. 2015-08-07 15:03:09 +03:00
asm.rs
attributes.rs Remove morestack support 2015-08-10 16:35:44 -07:00
base.rs Reduce rustc::trans's dependence on pointer width 2015-08-15 20:04:21 +12:00
basic_block.rs
build.rs
builder.rs
cabi_aarch64.rs
cabi_arm.rs
cabi_mips.rs
cabi_powerpc.rs
cabi_x86_64.rs
cabi_x86_win64.rs Fix copy-paste bug. 2015-08-11 10:41:22 -07:00
cabi_x86.rs
cabi.rs
callee.rs use VariantDef instead of struct_fields 2015-08-06 16:54:40 +03:00
cleanup.rs Implement Win64 eh_personality natively. 2015-07-30 11:35:16 -07:00
closure.rs Add dropflag hints (stack-local booleans) for unfragmented paths in trans. 2015-07-28 16:14:58 +02:00
common.rs Reduce rustc::trans's dependence on pointer width 2015-08-15 20:04:21 +12:00
consts.rs cache Ty::is_simd 2015-08-06 18:26:00 +03:00
context.rs Improve 'unknown instrinsic' error message 2015-08-15 21:06:06 +12:00
controlflow.rs
datum.rs Make C_u8 take a u8 instead of a usize value 2015-08-05 09:56:29 +02:00
declare.rs Remove morestack support 2015-08-10 16:35:44 -07:00
expr.rs cache Ty::is_simd 2015-08-06 18:26:00 +03:00
foreign.rs cache Ty::is_simd 2015-08-06 18:26:00 +03:00
glue.rs rollup merge of #27618: dotdash/drop_fixes 2015-08-11 22:11:22 -07:00
inline.rs move InlinedItem into librustc, where it belongs 2015-08-14 20:07:55 -04:00
intrinsic.rs Reduce rustc::trans's dependence on pointer width 2015-08-15 20:04:21 +12:00
llrepr.rs
machine.rs
macros.rs
meth.rs Replace get_item_path[-1] with get_item_name 2015-08-12 20:22:25 +02:00
mod.rs rustc: Allow changing the default allocator 2015-08-14 15:13:10 -07:00
monomorphize.rs rename ADTDef to AdtDef etc. 2015-08-07 15:03:09 +03:00
tvec.rs Add dropflag hints (stack-local booleans) for unfragmented paths in trans. 2015-07-28 16:14:58 +02:00
type_.rs Remove #[cfg(stage0)] annotation 2015-08-09 22:05:23 +02:00
type_of.rs rollup merge of #27618: dotdash/drop_fixes 2015-08-11 22:11:22 -07:00
value.rs