about summary refs log tree commit diff
path: root/src/librustc_trans/debuginfo
AgeCommit message (Collapse)AuthorLines
2018-05-17Rename trans to codegen everywhere.Irina Popa-3190/+0
2018-05-15Pull common parameters into GenericParamDefvarkor-7/+1
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-05-15Refactor to address commentsvarkor-28/+20
2018-05-15Use GenericParamCount instead of FxHashMapvarkor-1/+7
2018-05-15Eliminate ty::Generics::types()varkor-1/+1
And with one final incanation, the specific kind iterators were banished from ty::Generics, never to be seen again!
2018-05-15Generalise cases of explicit iteration of specific kindsvarkor-4/+19
2018-05-15Prefer iterator to vecvarkor-1/+1
2018-05-15Consolidate ty::Genericsvarkor-1/+1
2018-05-11Introduce ConstValue and use it instead of miri's Value for constant valuesJohn Kåre Alsaker-2/+2
2018-05-08Insert fields from TypeAndMut into TyRef to allow layout optimizationJohn Kåre Alsaker-2/+2
2018-05-08Store the GeneratorInterior in the new GeneratorSubstsJohn Kåre Alsaker-1/+1
2018-05-08Store generator movability outside GeneratorInteriorJohn Kåre Alsaker-1/+1
2018-05-06issue-49938: Reference tagged unions discr(iminant) as tagSamuel Wilson-2/+2
Refer https://github.com/rust-lang/rust/issues/49938 Previously tagged unions' tag was refered to as a discr(iminant). Here the changes use tag instead which is the correct terminology when refering to the memory representation of tagged unions.
2018-05-01Auto merge of #49724 - kennytm:range-inc-start-end-methods, r=Kimundibors-1/+1
Introduce RangeInclusive::{new, start, end} methods and make the fields private. cc #49022
2018-05-01Removed direct field usage of RangeInclusive in rustc itself.kennytm-1/+1
2018-04-28Mark functions returning uninhabited types as noreturnAnthony Ramine-1/+1
2018-04-27Rename InternedString to LocalInternedString and introduce a new thread-safe ↵John Kåre Alsaker-5/+5
InternedString
2018-04-26rustc_target: move in type definitions from ty::layout.Irina Popa-1/+1
2018-04-17Clean up attribute handling in create_function_debug_context().Michael Woerister-4/+5
2018-04-17Support #[no_debug] for global variables.Michael Woerister-3/+10
2018-04-12Auto merge of #49558 - Zoxc:sync-misc, r=michaelwoeristerbors-1/+1
Even more thread-safety changes r? @michaelwoerister
2018-04-11Auto merge of #49695 - michaelwoerister:unhygienic-ty-min, r=nikomatsakisbors-3/+3
Use InternedString instead of Symbol for type parameter types (2) Reduced alternative to #49266. Let's see if this causes a performance regression.
2018-04-10Combine Session.entry_fn and Session.entry_type and make them thread-safeJohn Kåre Alsaker-1/+1
2018-04-06refactor: simplify `needs_gdb_debug_scripts_section`Jorge Aparicio-2/+0
2018-04-06add emit_debug_gdb_scripts target option and ..Jorge Aparicio-1/+2
set it to false for no-std targets like ARM Cortex-M and MSP430. For the rationale of this change see the comment in thumb_base.rs
2018-04-06Use InternedString instead of Symbol for type parameters.Michael Woerister-3/+3
2018-03-14remove defaulting to unitAndrew Cann-7/+7
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-13`trans_apply_param_substs` => `subst_and_normalize_erasing_regions`Niko Matsakis-1/+5
Consolidate `trans_apply_param_substs` and `trans_apply_param_substs_env`. Also remove `trans_impl_self_ty`
2018-03-13transition various normalization functions to the new methodsNiko Matsakis-9/+14
In particular: - `fully_normalize_monormophic_ty` => `normalize_erasing_regions` - `normalize_associated_type_in_env` => `normalize_erasing_regions` - `fully_normalize_associated_types_in` => `normalize_erasing_regions` - `erase_late_bound_regions_and_normalize` => `normalize_erasing_late_bound_regions`
2018-03-08Nuke ConstInt and Const*sizeOliver Schneider-1/+1
2018-03-08Produce instead of pointersOliver Schneider-2/+2
2018-03-06Rename exported_symbol_ids query to something more explicit and document ↵Michael Woerister-1/+1
what it is doing.
2018-02-19Use DefId instead of NodeId while generating debuginfo for statics.Michael Woerister-27/+13
2018-01-25Rollup merge of #47618 - mrhota:dw_at_noreturn, r=michaelwoeristerAlex Crichton-0/+3
Teach rustc about DW_AT_noreturn and a few more DIFlags We achieve two small things with this PR: 1. We provide definitions for a few additional llvm debuginfo flags 1. We _use_ one of these new flags, `FlagNoReturn`, and add it to debuginfo for functions with the never return type (`!`).
2018-01-23Adds support for immovable generators. Move checking of invalid borrows ↵John Kåre Alsaker-0/+1
across suspension points to borrowck. Fixes #44197, #45259 and #45093.
2018-01-20Teach rustc about DW_AT_noreturn and a few more DIFlagsA.J. Gardner-0/+3
2018-01-14rustc_trans: rename mircx: MirContext to fx: FunctionCx.Eduard-Mihai Burtescu-1/+1
2018-01-14rustc_trans: rename bcx to bx.Eduard-Mihai Burtescu-22/+22
2018-01-14rustc_trans: rename ccx to cx.Eduard-Mihai Burtescu-44/+44
2018-01-14rustc_trans: rename CrateContext to CodegenCx.Eduard-Mihai Burtescu-66/+66
2018-01-14rustc_trans: access fields directly on CrateContext.Eduard-Mihai Burtescu-58/+58
2018-01-14rustc_trans: collapse {Local,Shared}CrateContext.Eduard-Mihai Burtescu-14/+12
2018-01-08rustc::ty: Rename `struct_variant` to `non_enum_variant`Robin Kruppe-2/+2
It is also intended for use with unions.
2017-12-20dwarf: set dwarf linkage_name for fns and statics to its mangled symbol namem4b-30/+24
2017-12-20Auto merge of #46457 - m4b:no_mangle_static, r=michaelwoeristerbors-6/+14
Don't set the linkage_name for static variables For `no_mangle` statics: 1. Linkage_name no longer set 2. The static variable also no longer has a dwarf namespace scope This matches C++ output, which does not set the linkage_name and is not scoped: e.g. c++: ``` 0x000000b6: DW_TAG_base_type [8] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000077] = "long int") DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed) DW_AT_byte_size [DW_FORM_data1] (0x08) 0x000000bd: DW_TAG_variable [9] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000053] = "TEST") DW_AT_type [DW_FORM_ref4] (cu + 0x0048 => {0x00000048}) DW_AT_external [DW_FORM_flag_present] (true) DW_AT_decl_file [DW_FORM_data1] ("/home/m4b/tmp/bad_debug/test.cpp") DW_AT_decl_line [DW_FORM_data1] (14) DW_AT_location [DW_FORM_exprloc] (<0x9> 03 40 10 20 00 00 00 00 00 ) 0x000000d2: DW_TAG_namespace [2] * DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000009d] = "std") ``` and (now) Rust: ``` 0x0000002a: DW_TAG_variable [2] DW_AT_name [DW_FORM_strp] ( .debug_str[0x00000046] = "TEST") DW_AT_type [DW_FORM_ref4] (cu + 0x0045 => {0x00000045}) DW_AT_external [DW_FORM_flag_present] (true) DW_AT_decl_file [DW_FORM_data1] ("/tmp/test.rs") DW_AT_decl_line [DW_FORM_data1] (8) DW_AT_alignment [DW_FORM_udata] (1) DW_AT_location [DW_FORM_exprloc] (<0x9> 03 c0 4d 06 00 00 00 00 00 ) 0x00000040: DW_TAG_namespace [3] * DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000004b] = "test") ```
2017-12-19dwarf: do not set linkage_name for no mangle statics, and do not have a ↵m4b-6/+14
scope. ref #33172
2017-12-18normalize the results of `tcx.type_of` after substitutingAriel Ben-Yehuda-3/+2
Also remove `def_ty`, which was a footgun because it did not do the above.
2017-12-18Prefer type_of().substs over instance::ty()Maik Klein-2/+2
2017-12-18Remove duplicated functions from trans::common.rsMaik Klein-5/+5
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-11/+12