summary refs log tree commit diff
path: root/src/librustc/ich/impls_syntax.rs
AgeCommit message (Collapse)AuthorLines
2018-07-27Add the -Zcrate-attr=foo nightly rustc flag to inject crate attributesPietro Albini-0/+1
2018-07-18Do not use desugared ident when suggesting adding a typeEsteban Küber-0/+1
2018-07-14Functions introducing procedural macros reserve a slot in the macro ↵Vadim Petrochenkov-1/+2
namespace as well
2018-07-13Add the `amdgpu-kernel` ABI.Richard Diamond-0/+1
Technically, there are requirements imposed by the LLVM `AMDGPUTargetMachine` on functions with this ABI (eg, the return type must be void), but I'm unsure exactly where this should be enforced.
2018-06-28Auto merge of #50997 - michaelwoerister:pre-analyze-filemaps, r=Mark-Simulacrumbors-18/+12
Make FileMap::{lines, multibyte_chars, non_narrow_chars} non-mutable. This PR removes most of the interior mutability from `FileMap`, which should be beneficial, especially in a multithreaded setting. This is achieved by initializing the state in question when the filemap is constructed instead of during lexing. Hopefully this doesn't degrade performance. cc @wesleywiser
2018-06-27Make FileMap::{lines, multibyte_chars, non_narrow_chars} non-mutable.Michael Woerister-18/+12
2018-06-27Implement `#[macro_export(local_inner_macros)]`Vadim Petrochenkov-0/+1
2018-06-23hygiene: Merge `NameAndSpan` into `ExpnInfo`Vadim Petrochenkov-6/+2
2018-06-21async await desugaring and testsTaylor Cramer-0/+1
2018-06-07Add existential type definitonsOliver Schneider-0/+1
2018-05-17Add edition to expansion infoVadim Petrochenkov-0/+10
2018-05-15Represent lifetimes as two joint tokens in proc macrosVadim Petrochenkov-0/+1
2018-05-02make it compile againflip1995-1/+1
2018-05-02Remove Option from the return type of Attribute::name()Seiichi Uchida-3/+2
2018-05-02Allow Path for name of MetaItemSeiichi Uchida-4/+12
2018-04-27Rename InternedString to LocalInternedString and introduce a new thread-safe ↵John Kåre Alsaker-4/+24
InternedString
2018-04-26rustc_target: move in syntax::abi and flip dependency.Irina Popa-1/+1
2018-04-10Add ok-wrapping to catch blocks, per RFCScott McMurray-1/+2
2018-04-06Use `Ident` instead of `Name` in `MetaItem`Vadim Petrochenkov-1/+1
2018-04-06Remove more duplicated spansVadim Petrochenkov-1/+1
2018-04-06Rename `PathSegment::identifier` to `ident`Vadim Petrochenkov-1/+1
2018-04-03Remove all unstable placement featuresAidan Hobson Sayers-1/+0
Closes #22181, #27779
2018-03-18Initial implementation of RFC 2151, Raw IdentifiersLymia Aluysia-1/+4
2018-03-17syntax: Make `_` an identifierVadim Petrochenkov-1/+0
2018-03-15Make FileMap thread-safeJohn Kåre Alsaker-15/+18
2018-03-08Add InterpretInterner to StableHashingContext for AllocId serializationOliver Schneider-23/+25
2018-03-05Turn features() into a query.Michael Woerister-0/+19
2018-01-04rustc: use {U,I}size instead of {U,I}s shorthands.Eduard-Mihai Burtescu-2/+2
2017-12-19incr.comp.: Precompute small hash for filenames to save some work.Michael Woerister-2/+3
2017-12-15incr.comp.: Revert hashing optimization that caused regression.Michael Woerister-2/+0
2017-12-14incr.comp.: Do less hashing per Span.Michael Woerister-0/+2
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-0/+11
2017-12-01incr.comp.: Properly hash and encode macro expansion information.Michael Woerister-0/+24
2017-11-03Display spans correctly when there are non-half-width charactersWonwoo Choi-0/+16
2017-10-03Rename FileMap::path and change to an OptionPhilip Craig-1/+1
2017-09-30Don't use remapped path when loading modules and include filesPhilip Craig-0/+1
2017-09-22Add support for `..=` syntaxAlex Burka-0/+2
Add ..= to the parser Add ..= to libproc_macro Add ..= to ICH Highlight ..= in rustdoc Update impl Debug for RangeInclusive to ..= Replace `...` to `..=` in range docs Make the dotdoteq warning point to the ... Add warning for ... in expressions Updated more tests to the ..= syntax Updated even more tests to the ..= syntax Updated the inclusive_range entry in unstable book
2017-09-18rustc: Forbid interpolated tokens in the HIRAlex Crichton-18/+5
Right now the HIR contains raw `syntax::ast::Attribute` structure but nowadays these can contain arbitrary tokens. One variant of the `Token` enum is an "interpolated" token which basically means to shove all the tokens for a nonterminal in this position. A "nonterminal" in this case is roughly analagous to a macro argument: macro_rules! foo { ($a:expr) => { // $a is a nonterminal as an expression } } Currently nonterminals contain namely items and expressions, and this poses a problem for incremental compilation! With incremental we want a stable hash of all HIR items, but this means we may transitively need a stable hash *of the entire AST*, which is certainly not stable w/ node ids and whatnot. Hence today there's a "bug" where the "stable hash" of an AST is just the raw hash value of the AST, and this only arises with interpolated nonterminals. The downside of this approach, however, is that a bunch of errors get spewed out during compilation about how this isn't a great idea. This PR is focused at fixing these warnings, basically deleting them from the compiler. The implementation here is to alter attributes as they're lowered from the AST to HIR, expanding all nonterminals in-place as we see them. This code for expanding a nonterminal to a token stream already exists for the `proc_macro` crate, so we basically just reuse the same implementation there. After this PR it's considered a bug to have an `Interpolated` token and hence the stable hash implementation simply uses `bug!` in this location. Closes #40946
2017-09-18incr.comp.: Remove tcx from StableHashingContext.Michael Woerister-24/+24
2017-09-18incr.comp.: Make the StableHashingContext mostly independent of the tcx.Michael Woerister-2/+2
2017-09-18incr.comp.: Initialize IGNORED_ATTRS in StableHashingContext lazily.Michael Woerister-0/+5
2017-09-18Fix issues uncovered by rebasing:Michael Woerister-4/+26
- Don't hash traits in scope as part of HIR hashing any more. - Some queries returned DefIndexes from other crates. - Provide a generic way of stably hashing maps (not used everywhere yet).
2017-09-13honor #[rustc_const_unstable] attributesAlex Burka-1/+7
2017-06-26Simplify `hygiene::Mark` application, andJeffrey Seyfried-2/+1
remove variant `Token::SubstNt` in favor of `quoted::TokenTree::MetaVar`.
2017-06-10Added external crates' sources to FileMap.Inokentiy Babushkin-0/+1
They are now handled in their own member to prevent mutating access to the `src` member. This way, we can safely load external sources, while keeping the mutation of local source strings off-limits.
2017-06-10Added source hashes to FileMapInokentiy Babushkin-0/+3
We can use these to perform lazy loading of source files belonging to external crates. That way we will be able to show the source code of external spans that have been translated.
2017-06-06ICH: Make StableHashingContext work with any TyCtxt, not just the global one.Michael Woerister-18/+22
2017-05-26Auto merge of #42058 - froydnj:thiscall-support, r=nikomatsakisbors-0/+1
add thiscall calling convention support This support is needed for bindgen to work well on 32-bit Windows, and also enables people to begin experimenting with C++ FFI support on that platform. Fixes #42044.
2017-05-25Improve efficiency.Jeffrey Seyfried-1/+1
2017-05-24add thiscall calling convention supportNathan Froyd-0/+1
This support is needed for bindgen to work well on 32-bit Windows, and also enables people to begin experimenting with C++ FFI support on that platform. Fixes #42044.