about summary refs log tree commit diff
path: root/src/libsyntax/parse/token.rs
AgeCommit message (Collapse)AuthorLines
2013-09-06adding test case to check marking/unmarkingJohn Clements-1/+6
2013-09-06add hygiene support fns, move them around.John Clements-7/+3
also adds test cases
2013-09-05Remove the __log function for __log_levelAlex Crichton-3/+3
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-04stop treating char as an integer typeDaniel Micay-2/+6
Closes #7609
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-22/+22
2013-09-02switch __field__ hack to <unnamed_field>Daniel Micay-1/+1
avoids conflict with fields actually named `__field__`
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-86/+86
2013-08-23Parse and reserve typeof keyword. #3228Ben Blum-2/+5
2013-08-16Reserve 'yield' keywordKevin Ballard-4/+7
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-11syntax: Shrink enum Token and enum nonterminalblake2-ppc-4/+4
`enum Token` was 192 bytes (64-bit), as pointed out by pnkfelix; the only bloating variant being `INTERPOLATED(nonterminal)`. Updating `enum nonterminal` to use ~ where variants included big types, shrunk size_of(Token) to 32 bytes (64-bit). I am unsure if the `nt_ident` variant should have an indirection, with ast::ident being only 16 bytes (64-bit), but without this, enum Token would be 40 bytes. A dumb benchmark says that compilation time is unchanged, while peak memory usage for compiling std.rs is down 3% Before:: $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs 19.00user 0.39system 0:19.41elapsed 99%CPU (0avgtext+0avgdata 627820maxresident)k 0inputs+28896outputs (0major+228665minor)pagefaults 0swaps $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs 31.64user 0.34system 0:32.02elapsed 99%CPU (0avgtext+0avgdata 629876maxresident)k 0inputs+22432outputs (0major+229411minor)pagefaults 0swaps After:: $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc --cfg stage1 src/libstd/std.rs 19.07user 0.45system 0:19.55elapsed 99%CPU (0avgtext+0avgdata 609384maxresident)k 0inputs+28896outputs (0major+221997minor)pagefaults 0swaps $ time ./x86_64-unknown-linux-gnu/stage1/bin/rustc -O --cfg stage1 src/libstd/std.rs 31.90user 0.34system 0:32.28elapsed 99%CPU (0avgtext+0avgdata 612080maxresident)k 0inputs+22432outputs (0major+223726minor)pagefaults 0swaps
2013-08-08Allow attributes to appear as macro argumentsNiko Matsakis-0/+3
Fixes #8393
2013-08-07core: option.map_consume -> option.map_moveErick Tryzelaar-1/+1
2013-08-03remove obsolete `foreach` keywordDaniel Micay-10/+7
this has been replaced by `for`
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-1/+0
2013-08-01convert `pure` to a reserved keywordDaniel Micay-31/+31
2013-08-01make `in` and `foreach` get treated as keywordsDaniel Micay-13/+13
2013-07-31remove `copy` as a keywordDaniel Micay-70/+68
2013-07-30syntax: add temporary 'foreach' keyword.Graydon Hoare-0/+3
2013-07-30syntax: add 'in' keywordGraydon Hoare-0/+3
2013-07-24Change 'print(fmt!(...))' to printf!/printfln! in src/lib*Birunthan Mohanathas-2/+2
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-1/+1
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-22new snapshotDaniel Micay-3/+0
2013-07-17librustc: Remove `copy` expressions from the language.Patrick Walton-2/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-5/+5
2013-07-14Make TLS keys actually take up spaceAlex Crichton-1/+2
If the TLS key is 0-sized, then the linux linker is apparently smart enough to put everything at the same pointer. OSX on the other hand, will reserve some space for all of them. To get around this, the TLS key now actuall consumes space to ensure that it gets a unique pointer
2013-07-14Purge the last remnants of the old TLS apiAlex Crichton-13/+10
Closes #3273
2013-07-11Remove all external requirements of `@` from TLSAlex Crichton-1/+1
Closes #6004
2013-07-09Rename local_data methods/types for less keystrokesAlex Crichton-2/+2
2013-07-07De-share ast::TyJames Miller-1/+1
2013-07-07De-managed ast::PathJames Miller-1/+1
2013-06-30Change char::escape_{default,unicode} to take callbacks instead of allocatingAlex Crichton-2/+6
strings
2013-06-29Use more deriving(IterBytes) in libsyntax.Ben Blum-3/+3
2013-06-29Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.Ben Blum-1/+1
2013-06-28librustc: Fix merge fallout and test cases.Patrick Walton-1/+1
2013-06-28librustc: Remove the broken overloaded assign-ops from the language.Patrick Walton-2/+2
They evaluated the receiver twice. They should be added back with `AddAssign`, `SubAssign`, etc., traits.
2013-06-28librustc: Rename Const to FreezePatrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-8/+6
2013-06-23syntax: Remove unused tokensPhilipp Brüschweiler-105/+99
TyDesc, TyVisitor and intrinsic are not used anymore.
2013-06-21libsyntax: cleanup warningsJames Miller-3/+1
2013-06-21Remove all #[cfg(stage0)]-protected codeJames Miller-166/+0
New snapshot means this can all go. Also removes places that have comments that say they are workarounds for stage0 errors.
2013-06-20libsyntax: Remove `drop` as a keyword.Luqman Aden-35/+202
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-27/+11
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-12std: convert str::escape_* to methods.Huon Wilson-1/+1
2013-06-09remove unused import warningsHuon Wilson-1/+0
2013-06-05added fresh-name fnJohn Clements-0/+28
2013-06-05token_to_ident takes argument by referenceJohn Clements-5/+5
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-25/+47
2013-06-05rename repr to nameJohn Clements-81/+81
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-2/+4
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-9/+10