about summary refs log tree commit diff
path: root/compiler/rustc_session/src/cstore.rs
AgeCommit message (Collapse)AuthorLines
2025-08-27Move `NativeLibKind` from `rustc_session` to `rustc_hir`Jonathan Brouwer-22/+2
2025-05-04Initial support for dynamically linked cratesBryanskiy-0/+1
2024-12-19Update commentsbjorn3-1/+1
2024-12-18Re-export more `rustc_span::symbol` things from `rustc_span`.Nicholas Nethercote-2/+1
`rustc_span::symbol` defines some things that are re-exported from `rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some closely related things such as `Ident` and `kw`. So you can do `use rustc_span::{Symbol, sym}` but you have to do `use rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good reason. This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`, and changes many `rustc_span::symbol::` qualifiers in `compiler/` to `rustc_span::`. This is a 200+ net line of code reduction, mostly because many files with two `use rustc_span` items can be reduced to one.
2024-11-07Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiserJubilee-0/+5
Set "symbol name" in raw-dylib import libraries to the decorated name `windows-rs` received a bug report that mixing raw-dylib generated and the Windows SDK import libraries was causing linker failures: <https://github.com/microsoft/windows-rs/issues/3285> The root cause turned out to be #124958, that is we are not including the decorated name in the import library and so the import name type is also not being correctly set. This change modifies the generation of import libraries to set the "symbol name" to the fully decorated name and correctly marks the import as being data vs function. Note that this also required some changes to how the symbol is named within Rust: for MSVC we now need to use the decorated name but for MinGW we still need to use partially decorated (or undecorated) name. Fixes #124958 Passing i686 MSVC and MinGW build: <https://github.com/rust-lang/rust/actions/runs/11000433888?pr=130586> r? `@ChrisDenton`
2024-11-03compiler: Directly use rustc_abi in sessionJubilee Young-2/+2
2024-10-06Rename NestedMetaItem to MetaItemInnercodemountains-1/+1
2024-10-01Use `ast::NestedMetaItem` when evaluating cfg predicateUrgau-1/+1
2024-09-24Test fixing raw-dylibDaniel Paoliello-0/+5
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-2/+2
2024-07-29Reformat `use` declarations.Nicholas Nethercote-4/+5
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-04-29Remove `extern crate rustc_macros` from numerous crates.Nicholas Nethercote-0/+1
2024-04-19Move `stable_crate_ids` from `CrateStore` to `Untracked`Oli Scherer-2/+5
This way it's like `Definitions`, which creates `DefId`s by interning `DefPathData`s, but for interning stable crate hashes
2024-03-27Make `def_path_hash_to_def_id` a hookOli Scherer-3/+0
2024-03-27Move `CrateStore::expn_hash_to_expn_id` to a hookOli Scherer-9/+0
2024-03-27Start replacing `CStore` trait methods with hooks.Oli Scherer-6/+0
This also avoids the cyclic definition issues with CrateStore being defined after TyCtxt, but needing to be used in TyCtxt.
2023-11-30Move `MetadataLoader{,Dyn}` to `rustc_metadata`.Nicholas Nethercote-18/+1
They're not used in `rustc_session`, and `rustc_metadata` is a more obvious location. `MetadataLoader` was originally put into `rustc_session` in #41565 to avoid a dependency on LLVM, but things have changed a lot since then and that's no longer relevant, e.g. `rustc_codegen_llvm` depends on `rustc_metadata`.
2023-09-09Use `FreezeLock` for `CStore`John Kåre Alsaker-2/+2
2023-09-02Rename `Freeze` to `FreezeLock`John Kåre Alsaker-2/+2
2023-09-02Add `Freeze` type and use it to store `Definitions`John Kåre Alsaker-2/+2
2023-07-17Do not fetch HIR in native_libs.Camille GILLOT-0/+2
2023-05-16Remove `MetadataRef` type aliasMaybe Waffle-3/+4
2023-05-06introduce `DynSend` and `DynSync` auto traitSparrowLii-2/+2
2023-04-04Add a usize-indexed append-only-vecOli Scherer-2/+2
2023-03-19The name of NativeLib will be presentedyukang-2/+5
2023-02-21Use a lock-free datastructure for `source_span`Oli Scherer-3/+2
2023-02-21Remove unused `Debug` implOli Scherer-1/+0
2023-02-20Move the resolver into a queryOli Scherer-1/+1
2023-02-20Make untracked.source_span lockable so that resolution can still write to it ↵Oli Scherer-1/+1
when using TyCtxt
2023-02-20Make untracked.cstore lockable so that resolution can still write to it when ↵Oli Scherer-3/+3
using TyCtxt
2023-01-17Remove double spaces after dots in commentsMaybe Waffle-1/+1
2022-12-09Fold `Definitions` into the untracked dataOli Scherer-2/+3
2022-12-09Move the untracked cstore and source_span into a structOli Scherer-1/+10
2022-09-12change rlib format to discern native dependenciesDaniil Belov-0/+2
2022-08-26Implementation of import_name_typeDaniel Paoliello-1/+32
2022-03-30Stabilize native library modifier syntax and the `whole-archive` modifier ↵Vadim Petrochenkov-0/+6
specifically
2021-12-23Import `SourceFile`s from crate before decoding foreign `Span`Aaron Hill-0/+6
Fixes #92163 Fixes #92014 When writing to the incremental cache, we encode all `Span`s we encounter, regardless of whether or not their `SourceFile` comes from the local crate, or from a foreign crate. When we decode a `Span`, we use the `StableSourceFileId` we encoded to locate the matching `SourceFile` in the current session. If this id corresponds to a `SourceFile` from another crate, then we need to have already imported that `SourceFile` into our current session. This usually happens automatically during resolution / macro expansion, when we try to resolve definitions from other crates. In certain cases, however, we may try to load a `Span` from a transitive dependency without having ever imported the `SourceFile`s from that crate, leading to an ICE. This PR fixes the issue by calling `imported_source_files()` when we encounter a `SourceFile` with a foreign `CrateNum`. This ensures that all `SourceFile`s from that crate are imported into the current session.
2021-10-06Access Session while decoding expn_id.Camille GILLOT-1/+8
2021-10-03Add some inlining.Camille GILLOT-0/+4
2021-10-03Move rustc_middle::middle::cstore to rustc_session.Camille GILLOT-0/+195