about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/middle/cstore.rs
AgeCommit message (Collapse)AuthorLines
2021-10-03Move rustc_middle::middle::cstore to rustc_session.Camille GILLOT-196/+0
2021-09-30Move EncodedMetadata to rustc_metadata.Camille GILLOT-11/+0
2021-09-30Move encode_metadata out of CrateStore.Camille GILLOT-5/+0
2021-09-14Make DefPathHash->DefId panic for if the mapping fails.Michael Woerister-1/+1
We only use this mapping for cases where we know that it must succeed. Letting it panic otherwise makes it harder to use the API in unsupported ways.
2021-09-14Store DefPathHash->DefIndex map in on-disk-hash-table format in crate metadata.Michael Woerister-6/+2
This encoding allows for random access without an expensive upfront decoding state which in turn allows simplifying the DefPathIndex lookup logic without regressing performance.
2021-07-18Rollup merge of #87092 - ricobbe:fix-raw-dylib-multiple-definitions, ↵Yuki Okushi-3/+3
r=petrochenkov Remove nondeterminism in multiple-definitions test Compare all fields in `DllImport` when sorting to avoid nondeterminism in the error for multiple inconsistent definitions of an extern function. Restore the multiple-definitions test. Resolves #87084.
2021-07-17Encode ExpnId using ExpnHash for incr. comp.Camille GILLOT-3/+2
2021-07-17Make the CrateNum part of the ExpnId.Camille GILLOT-2/+4
2021-07-16Consider all fields when comparing DllImports, to remove nondetermininsm in ↵Richard Cobbe-3/+3
multiple-definitions test
2021-07-14Shrink the CrateStore dynamic interface.Camille GILLOT-13/+10
2021-07-11Auto merge of #85941 - cjgillot:qresolve, r=Aaron1011bors-1/+1
Reduce the amount of untracked state in TyCtxt -- Take 2 Main part of #85153 The offending line (https://github.com/rust-lang/rust/pull/85153#discussion_r642866298) is replaced by a FIXME until the possible bug and the perf concern are both resolved. r? `@Aaron1011`
2021-07-09Add support for raw-dylib with stdcall, fastcall functions on ↵Richard Cobbe-1/+20
i686-pc-windows-msvc.
2021-07-07Auto merge of #86105 - bjorn3:link_info_refactor, r=petrochenkovbors-27/+0
Refactor the generation of the metadata for linking
2021-07-07Remove a sorting operation from used_cratesbjorn3-27/+0
2021-07-06Make resolutions a query.Camille GILLOT-1/+1
2021-07-06Revert "Revert "Merge CrateDisambiguator into StableCrateId""bjorn3-2/+2
This reverts commit 8176ab8bc18fdd7d3c2cf7f720c51166364c33a3.
2021-07-05Remove LibSourcebjorn3-38/+3
The information is stored in used_crate_source too anyway
2021-07-01Rename all_crate_nums query to crates and remove useless wrapperbjorn3-1/+1
2021-06-20Implement the query in cstore_impl.Camille GILLOT-2/+0
2021-06-10Auto merge of #85910 - cjgillot:no-meta-version, r=Aaron1011bors-1/+0
Drop metadata_encoding_version. Part of #85153 r? `@Aaron1011`
2021-06-07Revert "Merge CrateDisambiguator into StableCrateId"bjorn3-2/+2
This reverts commit d0ec85d3fb6d322496cb8f4bc1c21e19f23284ad.
2021-06-04Add first cut of functionality for #58713: support for #[link(kind = ↵Richard Cobbe-0/+7
"raw-dylib")]. This does not yet support #[link_name] attributes on functions, the #[link_ordinal] attribute, #[link(kind = "raw-dylib")] on extern blocks in bin crates, or stdcall functions on 32-bit x86.
2021-06-01Drop metadata_encoding_version.Camille GILLOT-1/+0
2021-06-01Make is_private_dep a query.Camille GILLOT-1/+0
2021-06-01Revert "Reduce the amount of untracked state in TyCtxt"Camille Gillot-1/+3
2021-05-30Drop metadata_encoding_version.Camille GILLOT-1/+0
2021-05-30Make is_private_dep a query.Camille GILLOT-1/+0
2021-05-30Make resolutions a query.Camille GILLOT-1/+1
2021-05-30Merge CrateDisambiguator into StableCrateIdbjorn3-2/+2
2021-05-12Use () for analysis.Camille GILLOT-1/+1
2021-05-05Implement RFC 2951: Native link modifiersLuqman Aden-0/+1
This commit implements both the native linking modifiers infrastructure as well as an initial attempt at the individual modifiers from the RFC. It also introduces a feature flag for the general syntax along with individual feature flags for each modifier.
2021-01-16Enforce that query results implement DebugAaron Hill-1/+1
2020-12-03rustc_metadata: Remove some dead codeVadim Petrochenkov-2/+0
2020-11-25Lazy DefPath decoding for incremental compilationAaron Hill-0/+6
2020-10-24Compute proper module parent during resolutionAaron Hill-0/+2
Fixes #75982 The direct parent of a module may not be a module (e.g. `const _: () = { #[path = "foo.rs"] mod foo; };`). To find the parent of a module for purposes of resolution, we need to walk up the tree until we hit a module or a crate root.
2020-09-18use matches!() macro for simple if let conditionsMatthias Krüger-1/+1
2020-08-30mv compiler to compiler/mark-0/+251