Commit graph

162 commits

Author SHA1 Message Date
ljedrz
73cb9ab526 rename hir::map::get_by_hir_id to get 2019-06-20 12:50:06 +02:00
Eduard-Mihai Burtescu
afc39bbf24 Run rustfmt --file-lines ... for changes from previous commits. 2019-06-14 18:58:32 +03:00
Eduard-Mihai Burtescu
f3f9d6dfd9 Unify all uses of 'gcx and 'tcx. 2019-06-14 18:58:23 +03:00
Eduard-Mihai Burtescu
fff08cb043 Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
Eduard-Mihai Burtescu
21ac960334 rustc: remove some unnecessary lifetimes in -> TyCtxt methods. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
17cdd356da rustc: replace TyCtxt<'tcx, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
2441253508 Fix fallout from deny(unused_lifetimes). 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
37799a5552 rustc: replace TyCtxt<'a, 'gcx, 'tcx> with TyCtxt<'tcx, 'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
Eduard-Mihai Burtescu
8ee1814062 rustc_codegen_*: deny(unused_lifetimes). 2019-06-11 14:11:58 +03:00
Vadim Petrochenkov
8049e6199b Remove unused #![feature(custom_attribute)]s 2019-06-08 23:55:24 +03:00
Mark Mansi
c747f31ffc remove unneeded deps 2019-06-02 22:56:37 -05:00
Mark Mansi
621bf0da80 move monoitemext to inherent methods 2019-06-02 22:55:29 -05:00
Mark Mansi
3287ddf937 remove reexports of mir::mono::{MonoItem,CodegenUnit} 2019-06-02 22:50:03 -05:00
Mark Mansi
8af151b30a remove reexport of rustc::ty::Instance 2019-06-02 22:32:42 -05:00
David Wood
e71f4665f6
codegen: change $6d$ to $u6d$
This changes a mistake introduced in #61195 where the mangling
workaround used was incorrect.
2019-06-01 11:37:11 +01:00
Eduard-Mihai Burtescu
9cf35bfbe7 rustc_codegen_utils: remove symbol name dumping/checking harness, and mw impl. 2019-05-31 18:24:55 +03:00
Eduard-Mihai Burtescu
6386a31c5b rustc_codegen_utils: update mw's symbol mangler implementation. 2019-05-31 18:24:54 +03:00
Eduard-Mihai Burtescu
0e5f27b169 rustc_codegen_utils: add harness for dumping/checking symbol names, and mw mangling impl. 2019-05-31 18:24:54 +03:00
Eduard-Mihai Burtescu
408bf9de34 rustc_codegen_utils: don't ignore Ctor path components in symbols. 2019-05-31 18:24:53 +03:00
Eduard-Mihai Burtescu
2092963a18 rustc_codegen_utils: add new mangling scheme implementation. 2019-05-31 18:24:42 +03:00
Eduard-Mihai Burtescu
654d0596d3 rustc_codegen_utils: test demangler output, not just symbol names. 2019-05-31 18:23:03 +03:00
Oliver Scherer
14178efa5d Symbol name predicate list printed + excessively 2019-05-30 10:27:34 +02:00
Mazdak Farrokhzad
dae331d921
Rollup merge of #61195 - davidtwco:seg-fault-mangler, r=eddyb
Special-case `.llvm` in mangler

Fixes #60925 and fixes #53912.

r? @michaelwoerister
cc @eddyb
2019-05-29 00:20:00 +02:00
David Wood
9c34473ecf
Special-case .llvm in mangler to fix segfaults
This commit special cases `.llvm` in the mangler to print `.llvm$6d$`
instead. This will avoid segfaults when names in a user's Rust code are
`llvm`.
2019-05-28 20:26:51 +01:00
Ralf Jung
aad13a176a centralize Scalar size sanity checks and also do them in release builds 2019-05-26 14:13:12 +02:00
Oliver Scherer
a0275e3bf3 Only print integers in symbol path's constants 2019-05-25 10:07:02 +02:00
Eduard-Mihai Burtescu
89b2fb631a rustc: integrate ty::Const into ty::print as print_const. 2019-05-25 10:07:02 +02:00
Nicholas Nethercote
b557567c35 Remove impls for InternedString/string equality.
`Symbol` received the same treatment in #60630.

Also, we can derive `PartialEq` for `InternedString`.
2019-05-21 20:08:33 +10:00
Nicholas Nethercote
257eaf523f Introduce InternedString::intern.
`InternedString::intern(x)` is preferable to
`Symbol::intern(x).as_interned_str()`, because the former involves one
call to `with_interner` while the latter involves two.

The case within InternedString::decode() is particularly hot, and this
change reduces the number of `with_interner` calls by up to 13%.
2019-05-20 09:17:00 +10:00
Nicholas Nethercote
999c1fc281 Remove the equality operation between Symbol and strings.
And also the equality between `Path` and strings, because `Path` is made
up of `Symbol`s.
2019-05-13 09:31:30 +10:00
Nicholas Nethercote
fb084a48e2 Pass a Symbol to check_name, emit_feature_err, and related functions. 2019-05-13 09:29:22 +10:00
Nicholas Nethercote
faf5eac854 Move metadata encoding earlier.
This commit separates metadata encoding (`tcx.encode_metadata`) from the
creation of the metadata module (which is now handled by
`write_compressed_metadata`, formerly `write_metadata`).

The metadata encoding now occurs slightly earlier in the pipeline, at
the very start of code generation within `start_codegen`.

Metadata *writing* still occurs near the end of compilation; that will
be moved forward in subsequent commits.
2019-04-30 14:55:10 +10:00
Mateusz Mikuła
87e4b43d51 Deny internal in stage0 2019-04-17 05:15:00 +02:00
flip1995
d3f0cb9b62
Deny internal lints on non conflicting crates
- libarena
- librustc_allocator
- librustc_borrowck
- librustc_codegen_ssa
- librustc_codegen_utils
- librustc_driver
- librustc_errors
- librustc_incremental
- librustc_metadata
- librustc_passes
- librustc_privacy
- librustc_resolve
- librustc_save_analysis
- librustc_target
- librustc_traits
- libsyntax
- libsyntax_ext
- libsyntax_pos
2019-04-03 18:24:21 +02:00
Eduard-Mihai Burtescu
03639a2bff rustc(codegen): uncache def_symbol_name prefix from symbol_name. 2019-03-29 07:45:38 +02:00
Vadim Petrochenkov
2cbc25e6fc Merge DefPathData::VariantCtor and DefPathData::StructCtor 2019-03-24 17:59:18 +03:00
bjorn3
ca2ff089f3 Remove MetadataOnlyCodegenBackend 2019-03-16 10:54:38 +01:00
Eduard-Mihai Burtescu
a54a41ce47 rustc: provide DisambiguatedDefPathData in ty::print. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
8619edede1 rustc: slice substs in ty::print instead of passing the full ones. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
52b4f2daa0 rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
2a656828ac rustc: remove the ability for pretty-printers to override nesting. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
c0c485c3ad rustc: don't thread existential projections through path_generic_args. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
ffa00d4628 rustc: make pretty_path_generic_args' task as simple as possible. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
4deaa69b42 rustc: print elided regions as '_ instead of nothing, and use a separate check when optional. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
381fa7aa18 rustc: move ty::print::PrintConfig's fields to FmtPrinter. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
6d67d6846c rustc_codegen_utils: print all nominal types as paths, in symbol names. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
5211e37b1d rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
ab26b26d34 rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>". 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
35e5123f51 rustc: support overriding type printing in ty::print::Printer. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
88d96b269c rustc: support overriding region printing in ty::print::Printer. 2019-03-15 13:25:10 +02:00