about summary refs log tree commit diff
path: root/src/librustc/ich
AgeCommit message (Collapse)AuthorLines
2019-11-23Derive HashStable for TokenKind.Camille GILLOT-66/+1
2019-11-23Implement HashStable for Span in libsyntax_pos.Camille GILLOT-83/+10
2019-11-23Move CachingSourceMapView to libsyntax_pos.Camille GILLOT-105/+1
2019-11-23Rename StableHashingContextLike to HashStableContext.Camille GILLOT-3/+3
2019-11-22Retire impl_stable_hash_for.Camille GILLOT-1/+6
2019-11-22Retire impl_stable_hash_for_spanned.Camille GILLOT-14/+0
2019-11-22Derives for ast.Camille GILLOT-21/+0
2019-11-22Invert implementations for TokenKind.Camille GILLOT-49/+9
Also export a bunch of Token-related impls.
2019-11-22Export HashStable for DelimSpan, Lit and Path.Camille GILLOT-23/+0
2019-11-22Derive HashStable_Generic for Ident.Camille GILLOT-5/+0
2019-11-22Derive HashStable_Generic for ExpnData.Camille GILLOT-11/+0
2019-11-22Invert flow in impl HashStable of Span.Camille GILLOT-11/+10
2019-11-22Add StableHashingContextLike to HashStable_Generic derive.Camille GILLOT-0/+4
2019-11-22Auto merge of #66460 - cjgillot:hashstable_generic, r=Zoxcbors-227/+1
Add a proc-macro to derive HashStable in librustc dependencies A second proc-macro is added to derive HashStable for crates librustc depends on. This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate. Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc. Types using them stay there too. Split out of #66279 r? @Zoxc
2019-11-19Derive HashStable more.Camille GILLOT-7/+0
2019-11-17Derive HashStable for PanicStrategy.Camille GILLOT-8/+0
2019-11-17HashStable in libsyntax.Camille GILLOT-10/+0
2019-11-17HashStable_Generic for librustc_target.Camille GILLOT-23/+0
2019-11-17HashStable_Generic for libsyntax_pos.Camille GILLOT-48/+0
2019-11-17HashStable literals in libsyntax.Camille GILLOT-19/+0
2019-11-17Further HashStable_Generic derives.Camille GILLOT-47/+0
2019-11-17Move impl HashStable for Symbol in libsyntax_pos.Camille GILLOT-20/+1
2019-11-17Move impl HashStable for SymbolStr in libsyntax_pos.Camille GILLOT-19/+0
2019-11-17Use proc_macro for HashStable derive in libsyntax.Camille GILLOT-33/+0
2019-11-10Merge hir::ImplPolarity into ast::ImplPolarity.Camille GILLOT-0/+1
2019-11-10Merge hir::IsAuto into ast::IsAuto.Camille GILLOT-0/+1
2019-11-10Merge hir::CaptureClause into ast::CaptureBy.Camille GILLOT-0/+1
2019-11-10Merge hir::GeneratorMovability into ast::Movability.Camille GILLOT-0/+1
2019-11-08Rollup merge of #66190 - eddyb:primflt, r=CentrilYuki Okushi-1/+0
rustc_target: inline abi::FloatTy into abi::Primitive. This effectively undoes a small part of @oli-obk's #50967, now that the rest of the compiler doesn't use the `FloatTy` definition from `rustc_target`, post-#65884.
2019-11-07rustc_target: inline abi::FloatTy into abi::Primitive.Eduard-Mihai Burtescu-1/+0
2019-11-07syntax::parser::token -> syntax::tokenMazdak Farrokhzad-2/+2
2019-11-07syntax: use distinct FloatTy from rustc_target.Mazdak Farrokhzad-3/+7
We also sever syntax's dependency on rustc_target as a result. This should slightly improve pipe-lining. Moreover, some cleanup is done in related code.
2019-11-06Make doc comments cheaper with `AttrKind`.Nicholas Nethercote-14/+11
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a big performance win (over 10% in some cases) because `DocComment` lets doc comments (which are common) be represented very cheaply. `Attribute` gets some new helper methods to ease the transition: - `has_name()`: check if the attribute name matches a single `Symbol`; for `DocComment` variants it succeeds if the symbol is `sym::doc`. - `is_doc_comment()`: check if it has a `DocComment` kind. - `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant; panic otherwise. Fixes #60935.
2019-11-06Rollup merge of #65776 - nnethercote:rename-LocalInternedString-and-more, ↵Mazdak Farrokhzad-7/+7
r=estebank Rename `LocalInternedString` and more This PR renames `LocalInternedString` as `SymbolStr`, removes an unnecessary `impl` from it, improves comments, and cleans up some `SymbolStr` uses. r? @estebank
2019-11-02Rename `LocalInternedString` as `SymbolStr`.Nicholas Nethercote-7/+7
It makes the relationship with `Symbol` clearer. The `Str` suffix matches the existing `Symbol::as_str()` method nicely, and is also consistent with it being a wrapper of `&str`.
2019-11-01`Span` cannot represent `span.hi < span.lo`Vadim Petrochenkov-5/+0
So we can remove the corresponding checks from various code
2019-10-29Rollup merge of #65809 - roblabla:eficall-abi, r=nagisaMazdak Farrokhzad-0/+1
Add new EFIAPI ABI Fixes #54527 Adds a new ABI, "efiapi", which reflects the calling convention as specified by [the current spec UEFI spec](https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf#G6.999903). When compiling for x86_64, we should select the `win64` ABI, while on all other architectures (Itanium, x86, ARM and ARM64 and RISC-V), we should select the `C` ABI. Currently, this is done by just turning it into the C ABI everywhere except on x86_64, where it's turned into the win64 ABI. Should we prevent this ABI from being used on unsupported architectures, and if so, how would this be done?
2019-10-27rustc, rustc_passes: don't depend on syntax_expand.Mazdak Farrokhzad-3/+2
This is done by moving some data definitions to syntax::expand.
2019-10-25Add new EFIAPI ABIroblabla-0/+1
Adds a new ABI for the EFIAPI calls. This ABI should reflect the latest version of the UEFI specification at the time of commit (UEFI spec 2.8, URL below). The specification says that for x86_64, we should follow the win64 ABI, while on all other supported platforms (ia32, itanium, arm, arm64 and risc-v), we should follow the C ABI. To simplify the implementation, we will simply follow the C ABI on all platforms except x86_64, even those technically unsupported by the UEFI specification. https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
2019-10-25Rollup merge of #65074 - Rantanen:json-byte-pos, r=matkladMazdak Farrokhzad-0/+19
Fix the start/end byte positions in the compiler JSON output Track the changes made during normalization in the `SourceFile` and use this information to correct the `start_byte` and `end_byte` fields in the JSON output. This should ensure the start/end byte fields can be used to index the original file, even if Rust normalized the source code for parsing purposes. Both CRLF to LF and BOM removal are handled with this one. The rough plan was discussed with @matklad in rust-lang-nursery/rustfix#176 - although I ended up going with `u32` offset tracking so I wouldn't need to deal with `u32 + i32` arithmetics when applying the offset to the span byte positions. Fixes #65029
2019-10-21Fix the start/end byte positions in the compiler JSON outputMikko Rantanen-0/+19
2019-10-21Remove `InternedString`.Nicholas Nethercote-9/+10
By using `LocalInternedString` instead for the few remaining uses.
2019-10-16move syntax::ext to new crate syntax_expandMazdak Farrokhzad-2/+2
2019-09-30syntax: Split `ast::Attribute` into container and inner partsVadim Petrochenkov-6/+7
2019-09-28Switch over all StableHash impls to new formatMark Rousskov-172/+56
2019-09-26Rename `MetaItem.node` to `MetaItem.kind`varkor-1/+1
2019-09-26Rename `Item.node` to `Item.kind`varkor-2/+2
2019-09-26Rename `Stmt.node` to `Stmt.kind`varkor-1/+1
2019-09-26Rename `Ty.node` to `Ty.kind`varkor-2/+2
2019-09-26Rename `TraitItem.node` to `TraitItem.kind`varkor-2/+2