about summary refs log tree commit diff
path: root/src/librustc_metadata/lib.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-36/+0
2020-08-22Refactor dynamic library error checking on *nixDylan MacKenzie-0/+1
The old code was checking `dlerror` more often than necessary, since the return value of `dlopen` indicates whether an error occurred.
2020-08-14Rework `rustc_serialize`Matthew Jasper-0/+2
- Move the type parameter from `encode` and `decode` methods to the trait. - Remove `UseSpecialized(En|De)codable` traits. - Remove blanket impls for references. - Add `RefDecodable` trait to allow deserializing to arena-allocated references safely. - Remove ability to (de)serialize HIR. - Create proc-macros `(Ty)?(En|De)codable` to help implement these new traits.
2020-07-28Replace all uses of `log::log_enabled` with `Debug` printersOliver Scherer-0/+1
2020-07-26Hygiene serialization implementationAaron Hill-0/+1
2020-06-10Use min_specialization in the remaining rustc cratesMatthew Jasper-1/+1
2020-05-10use min_specialization for some rustc crates where it requires no changesRalf Jung-1/+1
2020-04-19Dogfood more or_patterns in the compilerJosh Stone-0/+1
2020-04-11Depend on libc from crates.ioLuca Barbieri-1/+0
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-1/+1
2020-03-19Refactorings to begin getting rid of rustc_codegen_utilsMark Mansi-34/+0
2020-03-16use direct imports for `rustc::{lint, session}`.Mazdak Farrokhzad-1/+1
2020-02-07Remove unused feature gates from librustc_metadatabjorn3-4/+0
2020-01-31Drop cfg(bootstrap) codeMark Rousskov-1/+0
2020-01-18slice_patterns: remove internal uses of gateMazdak Farrokhzad-1/+1
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-1/+1
2019-12-22Format the worldMark Rousskov-6/+8
2019-12-06Use `to_option` in various placesvarkor-0/+1
2019-11-28rustc_metadata: Merge `cstore.rs` into `creader.rs`Vadim Petrochenkov-1/+2
2019-11-14Update to use new librustc_error_codes libraryGuillaume Gomez-2/+0
2019-11-07rustc_metadata: Rename `schema` to `rmeta`Vadim Petrochenkov-1/+1
And change `rmeta.rs` to `rmeta/mod.rs`
2019-11-07rustc_metadata: Move cstore_impl into mod decoderVadim Petrochenkov-1/+0
2019-11-07rustc_metadata: Move decoder/encoder/table into mod schemaVadim Petrochenkov-3/+0
2019-10-15rustc_metadata: rename index::Index to table::Table.Eduard-Mihai Burtescu-5/+5
2019-10-10Add 'unlikely' annotation to branch in crate DepNodeIndex caching.Michael Woerister-0/+2
2019-09-23rustc: Convert `dependency_formats` to a queryAlex Crichton-0/+1
This commit converts a field of `Session`, `dependency_formats`, into a query of `TyCtxt`. This information then also needed to be threaded through to other remaining portions of the linker, but it's relatively straightforward. The only change here is that instead of `HashMap<CrateType, T>` the data structure changed to `Vec<(CrateType, T)>` to make it easier to deal with in queries.
2019-09-05Remove rustc_diagnostic_macros featureMark Rousskov-1/+0
2019-09-05Replace diagnostic plugins with macro_rulesMark Rousskov-3/+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-1/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-25Rollup merge of #62735 - petrochenkov:galloc, r=alexcrichtonMazdak Farrokhzad-2/+3
Turn `#[global_allocator]` into a regular attribute macro It was a 99% macro with exception of some diagnostic details. As a result of the change, `#[global_allocator]` now works in nested modules and even in nameless blocks. Fixes https://github.com/rust-lang/rust/issues/44113 Fixes https://github.com/rust-lang/rust/issues/58072
2019-07-24syntax_ext: Turn `#[global_allocator]` into a regular attribute macroVadim Petrochenkov-2/+3
2019-07-23cleanup: Remove `extern crate serialize as rustc_serialize`sVadim Petrochenkov-2/+0
2019-06-24Enable internal lints in bootstrapflip1995-1/+0
2019-06-11Add deny(unused_lifetimes) to all the crates that have deny(internal).Eduard-Mihai Burtescu-0/+1
2019-05-22rustc_metadata: rip out unused incremental infrastructure.Eduard-Mihai Burtescu-2/+0
2019-05-22rustc_metadata: parametrize schema::CrateRoot by 'tcx.Eduard-Mihai Burtescu-0/+1
2019-04-18Auto merge of #60025 - JohnTitor:rename-files, r=petrochenkovbors-1/+1
Rename files about error codes fixes #60017 This PR will be failed in tidy. <details> <summary>The log is here:</summary> ``` tidy check tidy error: duplicate error code: 411 tidy error: Documents\GitHub\rust\src\librustc_resolve\diagnostics.rs:83: __diagnostic_used!(E0411); tidy error: Documents\GitHub\rust\src\librustc_resolve\diagnostics.rs:84: err.code(DiagnosticId::Error("E0411".to_owned())); tidy error: duplicate error code: 424 tidy error: Documents\GitHub\rust\src\librustc_resolve\diagnostics.rs:90: debug!("smart_resolve_path_fragment: E0424, source={:?}", source); tidy error: Documents\GitHub\rust\src\librustc_resolve\diagnostics.rs:92: __diagnostic_used!(E0424); tidy error: Documents\GitHub\rust\src\librustc_resolve\diagnostics.rs:93: err.code(DiagnosticId::Error("E0424".to_owned())); some tidy checks failed ``` </details> I'd like to fix this but I don't know what to do. I will work on later. Please let me know if you have any solutions. r? @petrochenkov
2019-04-17Rename modulesYuki OKUSHI-1/+1
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-20Auto merge of #57018 - dcreager:redundant-linker, r=alexcrichtonbors-0/+1
Keep last redundant linker flag, not first When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1. You'd end up with a (simplified) linker command that looks like: ``` -l2 -l1 -l3 -l1 ``` With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in: ``` -l2 -l1 -l3 ``` This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*. So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors. A better behavior is to keep the *last* instance of the library: ``` -l2 -l3 -l1 ``` This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced. Fixes rust-lang#47989
2019-02-12Stabilize slice_sort_by_cached_keyScott McMurray-1/+0
2019-02-09Rollup merge of #58255 - taiki-e:librustc_metadata-2018, r=CentrilMazdak Farrokhzad-11/+3
librustc_metadata => 2018 Transitions `librustc_metadata` to Rust 2018; cc #58099 r? @Centril
2019-02-08librustc_metadata => 2018Taiki Endo-11/+3
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-01-24Remove quote_*! macros and associated APIsMark Simulacrum-1/+0
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-20Keep last redundant linker flag, not firstDouglas Creager-0/+1
When a library (L1) is passed to the linker multiple times, this is sometimes purposeful: there might be several other libraries in the linker command (L2 and L3) that all depend on L1. You'd end up with a (simplified) linker command that looks like: -l2 -l1 -l3 -l1 With the previous behavior, when rustc encountered a redundant library, it would keep the first instance, and remove the later ones, resulting in: -l2 -l1 -l3 This can cause a linker error, because on some platforms (e.g. Linux), the linker will only include symbols from L1 that are needed *at the point it's referenced in the command line*. So if L3 depends on additional symbols from L1, which aren't needed by L2, the linker won't know to include them, and you'll end up with "undefined symbols" errors. A better behavior is to keep the *last* instance of the library: -l2 -l3 -l1 This ensures that all "downstream" libraries have been included in the linker command before the "upstream" library is referenced. Fixes rust-lang#47989
2018-11-27remove uses of feature gateMark Mansi-1/+0