about summary refs log tree commit diff
path: root/src/librustc_codegen_utils
AgeCommit message (Collapse)AuthorLines
2019-05-31rustc_codegen_utils: add new mangling scheme implementation.Eduard-Mihai Burtescu-486/+1190
2019-05-31rustc_codegen_utils: test demangler output, not just symbol names.Eduard-Mihai Burtescu-2/+7
2019-05-30Symbol name predicate list printed `+` excessivelyOliver Scherer-1/+1
2019-05-29Rollup merge of #61195 - davidtwco:seg-fault-mangler, r=eddybMazdak Farrokhzad-0/+3
Special-case `.llvm` in mangler Fixes #60925 and fixes #53912. r? @michaelwoerister cc @eddyb
2019-05-28Special-case `.llvm` in mangler to fix segfaultsDavid Wood-0/+3
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-26centralize Scalar size sanity checks and also do them in release buildsRalf Jung-1/+1
2019-05-25Only print integers in symbol path's constantsOliver Scherer-2/+10
2019-05-25rustc: integrate ty::Const into ty::print as print_const.Eduard-Mihai Burtescu-0/+8
2019-05-21Remove impls for `InternedString`/string equality.Nicholas Nethercote-2/+2
`Symbol` received the same treatment in #60630. Also, we can derive `PartialEq` for `InternedString`.
2019-05-20Introduce `InternedString::intern`.Nicholas Nethercote-6/+6
`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-13Remove the equality operation between `Symbol` and strings.Nicholas Nethercote-1/+1
And also the equality between `Path` and strings, because `Path` is made up of `Symbol`s.
2019-05-13Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions.Nicholas Nethercote-5/+7
2019-04-30Move metadata encoding earlier.Nicholas Nethercote-1/+3
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-17Deny `internal` in stage0Mateusz Mikuła-1/+1
2019-04-03Deny internal lints on non conflicting cratesflip1995-0/+1
- 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-03-29rustc(codegen): uncache `def_symbol_name` prefix from `symbol_name`.Eduard-Mihai Burtescu-38/+15
2019-03-24Merge `DefPathData::VariantCtor` and `DefPathData::StructCtor`Vadim Petrochenkov-1/+1
2019-03-16Remove MetadataOnlyCodegenBackendbjorn3-146/+2
2019-03-15rustc: provide DisambiguatedDefPathData in ty::print.Eduard-Mihai Burtescu-4/+22
2019-03-15rustc: slice substs in ty::print instead of passing the full ones.Eduard-Mihai Burtescu-2/+2
2019-03-15rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt.Eduard-Mihai Burtescu-87/+90
2019-03-15rustc: remove the ability for pretty-printers to override nesting.Eduard-Mihai Burtescu-4/+4
2019-03-15rustc: don't thread existential projections through path_generic_args.Eduard-Mihai Burtescu-9/+45
2019-03-15rustc: make `pretty_path_generic_args`' task as simple as possible.Eduard-Mihai Burtescu-4/+9
2019-03-15rustc: print elided regions as '_ instead of nothing, and use a separate ↵Eduard-Mihai Burtescu-1/+1
check when optional.
2019-03-15rustc: move ty::print::PrintConfig's fields to FmtPrinter.Eduard-Mihai Burtescu-10/+9
2019-03-15rustc_codegen_utils: print all nominal types as paths, in symbol names.Eduard-Mihai Burtescu-2/+28
2019-03-15rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter.Eduard-Mihai Burtescu-6/+3
2019-03-15rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>".Eduard-Mihai Burtescu-45/+23
2019-03-15rustc: support overriding type printing in ty::print::Printer.Eduard-Mihai Burtescu-0/+8
2019-03-15rustc: support overriding region printing in ty::print::Printer.Eduard-Mihai Burtescu-1/+16
2019-03-15rustc: pass ty::print::PrintCx by value.Eduard-Mihai Burtescu-48/+69
2019-03-15rustc: split off most of ty::print::PrintCx's fields into a separate struct.Eduard-Mihai Burtescu-3/+4
2019-03-15rustc: uniformize ty::print's error handling by requiring Result.Eduard-Mihai Burtescu-14/+20
2019-03-15rustc: remove `ty::print::FORCE_ABSOLUTE` altogether.Eduard-Mihai Burtescu-5/+3
2019-03-15rustc: move `...::<impl ...>` printing into `pretty_path_qualified`.Eduard-Mihai Burtescu-7/+34
2019-03-15rustc: move <...>-less impl path special-case to pretty_path_qualified.Eduard-Mihai Burtescu-5/+13
2019-03-15rustc: merge PrintCx::parameterized and def_path printing.Eduard-Mihai Burtescu-72/+110
2019-03-15rustc: move the contents of ty::item_path to ty::print.Eduard-Mihai Burtescu-4/+3
2019-03-15rustc: rename item_path to def_path (except the module in ty).Eduard-Mihai Burtescu-7/+7
2019-03-15rustc: pass Option<&Substs> and Namespace around in ty::item_path.Eduard-Mihai Burtescu-1/+4
2019-03-15rustc: move the formatter into ty::print::PrintCx.Eduard-Mihai Burtescu-8/+12
2019-03-15rustc: remove ty::item_path::RootMode by moving local logic into the printer.Eduard-Mihai Burtescu-16/+11
2019-03-15rustc: rewrite ty::item_path to be more functional than mutation-oriented.Eduard-Mihai Burtescu-23/+42
2019-03-15rustc_codegen_utils: revert some symbol_names refactors (while keeping the ↵Eduard-Mihai Burtescu-68/+55
functional changes).
2019-03-15rustc: remove unnecessary extern_prelude logic from ty::item_path.Eduard-Mihai Burtescu-1/+1
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-3/+4
2019-03-07HirIdification: replace NodeId method callsljedrz-3/+3
2019-03-05Use non_erasable_generics for codegenvarkor-1/+1
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-03-01hir: remove NodeId from TraitItemljedrz-6/+5