about summary refs log tree commit diff
path: root/src/librustc_codegen_utils
AgeCommit message (Collapse)AuthorLines
2019-10-24rustc: Add a convenience alias for `dyn MetadataLoader + Sync`Vadim Petrochenkov-2/+2
2019-10-21Change `SymbolName::name` from `InternedString` to `Symbol`.Nicholas Nethercote-13/+10
This requires changing the `PartialOrd`/`Ord` implementations to look at the chars rather than the symbol index.
2019-10-21Convert fields within `DefPathData` from `InternedString` to `Symbol`.Nicholas Nethercote-1/+1
It's a full conversion, except in `DefKey::compute_stable_hash()` where a `Symbol` now is converted to an `InternedString` before being hashed. This was necessary to avoid test failures.
2019-10-13Add top level provide/provide_extern to cg_ssa and cg_utilsbjorn3-0/+5
2019-10-13Remove unused method CodegenBackend::diagnosticsbjorn3-1/+0
2019-10-04clean up GeneratorSubstscsmoe-2/+2
2019-09-29remove ClosureSubsts with SubstsRefcsmoe-2/+2
2019-09-28Switch over all StableHash impls to new formatMark Rousskov-2/+2
2019-09-26Auto merge of #64816 - Centril:rollup-gbeqot4, r=Centrilbors-2/+0
Rollup of 5 pull requests Successful merges: - #64221 ( Rust 2015: No longer downgrade NLL errors) - #64772 (Remove tx_to_llvm_workers from TyCtxt) - #64783 (Fix issue #64732) - #64787 (Fix ExitStatus on Fuchsia) - #64812 (Add test for E0543) Failed merges: r? @ghost
2019-09-26Rollup merge of #64772 - Mark-Simulacrum:no-tyctxt-tx, r=eddybMazdak Farrokhzad-2/+0
Remove tx_to_llvm_workers from TyCtxt This can be kept within the codegen backend crates entirely -- there's no reason for us to create it outside and attempt to hold it in the (global) context. Changes here aren't really too easily reviewable I suspect -- not sure if they can be cleaned up by splitting into more commits though, it's just hard to reason about `Box<Any>` in general. If there are thoughts though I'd be happy to hear them. The primary goal of this PR is to get rid of the field on `rustc_interface::Queries`.
2019-09-26Rename `subst::Kind` to `subst::GenericArg`varkor-13/+13
2019-09-25Remove tx_to_llvm_workers from TyCtxtMark Rousskov-2/+0
This can be kept within the codegen backend crates entirely
2019-09-25Rename `sty` to `kind`varkor-6/+6
2019-09-23Remove unused dependenciesShotaro Yamada-1/+0
2019-09-05Remove rustc_diagnostic_macros featureMark Rousskov-1/+0
2019-09-04Remove `LocalInternedString` uses from `librustc/ty/`.Nicholas Nethercote-1/+1
This is not a compelling change in isolation, but it is a necessary step.
2019-08-17Rollup merge of #63559 - eddyb:v0-mangling-off-by-1, r=estebankMazdak Farrokhzad-2/+10
rustc_codegen_utils: account for 1-indexed anonymous lifetimes in v0 mangling. I don't really understand why `anonymize_late_bound_regions` starts with `BrAnon(1)` instead of `BrAnon(0)`, but it does (maybe @nikomatsakis knows?): https://github.com/rust-lang/rust/blob/c43d03a19f326f4a323569328cc501e86eb6d22e/src/librustc/ty/fold.rs#L696-L712 Thankfully, the mangling format and demangler implementations are fine, and I just needed to offset the anonymized lifetime indices by `1` to get the correct mangling. cc @alexcrichton @michaelwoerister
2019-08-14rustc_codegen_utils: account for 1-indexed anonymous lifetimes in v0 mangling.Eduard-Mihai Burtescu-2/+10
2019-08-14Update rustc-demangle to 0.1.16.Eduard-Mihai Burtescu-1/+1
2019-08-05Clear the ParamEnv where its information is irrelevantOliver Scherer-1/+1
2019-08-05Fiddle param env through to `try_eval_bits` in most placesOliver Scherer-1/+1
2019-08-05Don't abort on unevaluated constants without at least tryting to eval themOliver Scherer-1/+1
2019-07-28Deny `unused_lifetimes` through rustbuildVadim Petrochenkov-2/+0
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-4/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-08normalize use of backticks for compiler messages in librustc_codegenSamy Kacimi-1/+1
https://github.com/rust-lang/rust/issues/60532
2019-07-07rustc: Remove `dylib` crate type from most rustc cratesAlex Crichton-1/+0
Now that procedural macros no longer link transitively to libsyntax, this shouldn't be needed any more! This commit is an experiment in removing all dynamic libraries from rustc except for librustc_driver itself. Let's see how far we can get with that!
2019-07-05Rollup merge of #62168 - ljedrz:the_culmination_of_hiridification, r=ZoxcMazdak Farrokhzad-1/+1
The (almost) culmination of HirIdification It's finally over. This PR removes old `FIXME`s and renames some functions so that the `HirId` variant has the shorter name. All that remains (and rightfully so) is stuff in `resolve`, `save_analysis` and (as far as I can tell) in a few places where we can't replace `NodeId` with `HirId`.
2019-07-05Rollup merge of #61545 - flip1995:internal_lints, r=oli-obkMazdak Farrokhzad-1/+0
Implement another internal lints cc #49509 This adds ~~two~~ one internal lint~~s~~: 1. LINT_PASS_IMPL_WITHOUT_MACRO: Make sure, that the `{declare,impl}_lint_pass` macro is used to implement lint passes. cc #59669 2. ~~USAGE_OF_TYCTXT_AND_SPAN_ARGS: item 2 on the list in #49509~~ ~~With 2. I wasn't sure, if this lint should be applied everywhere. That means a careful review of 0955835 would be great. Also 73fb9b4 allows this lint on some functions. Should I also apply this lint there?~~ TODO (not directly relevant for review): - [ ] https://github.com/rust-lang/rust/pull/59316#discussion_r280186517 (not sure yet, if this works or how to query for `rustc_private`, since it's not in [`Features`](https://doc.rust-lang.org/nightly/nightly-rustc/syntax/feature_gate/struct.Features.html) :thinking: cc @eddyb) - [x] https://github.com/rust-lang/rust/pull/61735#discussion_r292389870 - [x] Check explicitly for the `{declare,impl}_lint_pass!` macros r? @oli-obk
2019-07-04rename hir::map::local_def_id_from_hir_id to local_def_idljedrz-1/+1
2019-07-03Remove needless lifetimesJeremy Stucki-1/+1
2019-06-24Enable internal lints in bootstrapflip1995-1/+0
2019-06-20rename hir::map::get_by_hir_id to getljedrz-1/+1
2019-06-14Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-5/+3
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-16/+16
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-2/+1
2019-06-12rustc: remove some unnecessary lifetimes in -> TyCtxt methods.Eduard-Mihai Burtescu-2/+2
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-12/+12
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-3/+3
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-21/+21
2019-06-11rustc_codegen_*: deny(unused_lifetimes).Eduard-Mihai Burtescu-0/+1
2019-06-08Remove unused `#![feature(custom_attribute)]`sVadim Petrochenkov-1/+0
2019-06-02remove unneeded depsMark Mansi-1/+0
2019-06-02move monoitemext to inherent methodsMark Mansi-2/+1
2019-06-02remove reexports of mir::mono::{MonoItem,CodegenUnit}Mark Mansi-1/+2
2019-06-02remove reexport of rustc::ty::InstanceMark Mansi-8/+4
2019-06-01codegen: change `$6d$` to `$u6d$`David Wood-1/+1
This changes a mistake introduced in #61195 where the mangling workaround used was incorrect.
2019-05-31rustc_codegen_utils: remove symbol name dumping/checking harness, and mw impl.Eduard-Mihai Burtescu-1018/+11
2019-05-31rustc_codegen_utils: update mw's symbol mangler implementation.Eduard-Mihai Burtescu-167/+218
2019-05-31rustc_codegen_utils: add harness for dumping/checking symbol names, and mw ↵Eduard-Mihai Burtescu-3/+954
mangling impl.
2019-05-31rustc_codegen_utils: don't ignore `Ctor` path components in symbols.Eduard-Mihai Burtescu-3/+1