summary refs log tree commit diff
path: root/src/libsyntax/attr.rs
AgeCommit message (Collapse)AuthorLines
2017-09-20Fix ICEscalexm-0/+14
2017-09-17rustc: Move some attr methods to queriesAlex Crichton-24/+0
Otherwise we may emit double errors related to the `#[export_name]` attribute, for example, and using a query should ensure that it's only emitted at most once.
2017-09-13honor #[rustc_const_unstable] attributesAlex Burka-14/+65
2017-09-03implement improved on_unimplemented directivesAriel Ben-Yehuda-7/+18
2017-08-30Make fields of `Span` privateVadim Petrochenkov-7/+7
2017-08-28feature error span on attr. for fn_must_use, SIMD/align, macro reëxportZack M. Davis-0/+4
There were several feature-gated attributes for which the feature-not-available error spans would point to the item annotated with the gated attribute, when it would make more sense for the span to point to the attribute itself: if the attribute is removed, the function/struct/&c. likely still makes sense and the program will compile. (Note that we decline to make the analogous change for the `main`, `start`, and `plugin_registrar` features, for in those cases it makes sense for the span to implicate the entire function, of which there is little hope of using without the gated attribute.)
2017-08-17Include the closing paren to the span of ast::NestedMetaItemSeiichi Uchida-11/+6
2017-08-17Use respan()Seiichi Uchida-3/+3
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-11/+11
Like #43008 (f668999), but _much more aggressive_.
2017-08-11Fix some typosBastien Orivel-1/+1
2017-07-08Lower alignment limit down to 2^31 - 1 (from LLVM)Lee Bousfield-3/+3
2017-07-08Raised alignment limit from 2^15 to 2^31Lee Bousfield-5/+5
2017-06-26Add `LazyTokenStream`.Jeffrey Seyfried-2/+2
2017-05-18Add an option to the parser to avoid parsing out of line modulesNick Cameron-1/+1
This is useful if parsing from stdin or a String and don't want to try and read in a module from another file. Instead we just leave a stub in the AST.
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-8/+9
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-05-08Remove need for &format!(...) or &&"" dances in `span_label` callsOliver Schneider-2/+1
2017-04-21Added feature gate, updated error messages and tests.Cameron Hart-4/+9
2017-04-21Implementation of repr struct alignment RFC 1358.Cameron Hart-6/+44
The main changes around rustc::ty::Layout::struct and rustc_trans:adt: * Added primitive_align field which stores alignment before repr align * Always emit field padding when generating the LLVM struct fields * Added methods for adjusting field indexes from the layout index to the LLVM struct field index The main user of this information is rustc_trans::adt::struct_llfields which determines the LLVM fields to be used by LLVM, including padding fields.
2017-03-30Improve `Path` spans.Jeffrey Seyfried-3/+4
2017-03-29Refactor how spans are combined in the parser.Jeffrey Seyfried-8/+7
2017-03-14Liberalize attributes.Jeffrey Seyfried-2/+44
2017-03-14Refactor `Attribute` to use `Path` and `TokenStream` instead of `MetaItem`.Jeffrey Seyfried-37/+269
2017-02-25rustc_typeck: hook up collect and item/body check to on-demand.Eduard-Mihai Burtescu-23/+0
2017-02-03Switch logic to Span instead of HashMapGuillaume Gomez-6/+6
2017-01-11syntax: struct field attributes and cfgBenjamin Saunders-10/+22
2016-12-30Such large. Very 128. Much bits.Simonas Kazlauskas-1/+4
This commit introduces 128-bit integers. Stage 2 builds and produces a working compiler which understands and supports 128-bit integers throughout. The general strategy used is to have rustc_i128 module which provides aliases for iu128, equal to iu64 in stage9 and iu128 later. Since nowhere in rustc we rely on large numbers being supported, this strategy is good enough to get past the first bootstrap stages to end up with a fully working 128-bit capable compiler. In order for this strategy to work, number of locations had to be changed to use associated max_value/min_value instead of MAX/MIN constants as well as the min_value (or was it max_value?) had to be changed to use xor instead of shift so both 64-bit and 128-bit based consteval works (former not necessarily producing the right results in stage1). This commit includes manual merge conflict resolution changes from a rebase by @est31.
2016-12-18Remove some unused functions and fix formatting.Jeffrey Seyfried-30/+0
2016-11-21Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵Jeffrey Seyfried-24/+22
places.
2016-11-20Move `syntax::util::interner` -> `syntax::symbol`, cleanup.Jeffrey Seyfried-5/+5
2016-11-20Refactor `P<ast::MetaItem>` -> `ast::MetaItem`.Jeffrey Seyfried-22/+21
2016-11-20Move `MetaItemKind`'s `Name` to a field of `MetaItem`.Jeffrey Seyfried-20/+21
2016-11-20Refactor `CrateConfig`.Jeffrey Seyfried-13/+1
2016-11-20Refactor `MetaItemKind` to use `Name`s instead of `InternedString`s.Jeffrey Seyfried-36/+31
2016-11-20Refactor away `ast::Attribute_`.Jeffrey Seyfried-35/+35
2016-11-13do not use deprecated text for unstable docsAndy Russell-3/+0
2016-11-08Rename KNOWN_ATTRS to BUILT_ATTRS, and create KNOWN_ATTRSJosh Driver-1/+25
KNOWN_ATTRIBUTES should really be named BUILT_ATTRIBUTES, while KNOWN_ATTRIBUTES should be used to mark attributes as known, similar to USED_ATTRIBUTES.
2016-10-29Move `CrateConfig` from `Crate` to `ParseSess`.Jeffrey Seyfried-8/+5
2016-09-20rustc_metadata: go only through rustc_serialize in astencode.Eduard Burtescu-3/+3
2016-09-03Update compiler error E0558 to use new error formatAbhishek Kumar-2/+3
Fixes #36196 part of #35233
2016-08-31Warn about multiple conflicting #[repr] hintsChris Wong-3/+2
Closes #34622
2016-08-25Refactor away `AttrMetaMethods`.Jeffrey Seyfried-58/+34
2016-08-25Refactor away `AttributeMethods`.Jeffrey Seyfried-10/+3
2016-08-25Refactor away `AttrNestedMetaItemMethods`.Jeffrey Seyfried-41/+33
2016-08-25Implement RFC#1559: allow all literals in attributes.Sergio Benitez-101/+229
2016-07-25Adressed PR comments.cgswords-11/+10
2016-07-25General MetaItem encapsulation rewrites.cgswords-14/+80
2016-07-11Move E0533 to E0558 (because of external change)Guillaume Gomez-1/+1
2016-07-11Add E0534 error explanationGuillaume Gomez-1/+1
2016-07-02Rollup merge of #34531 - GuillaumeGomez:libsyntax_err_codes, r=jonathandturnerManish Goregaokar-40/+65
Add error codes in libsyntax r? @jonathandturner Fixes #34526
2016-06-29Add error codes in libsyntaxggomez-40/+65