summary refs log tree commit diff
path: root/src/libsyntax/ext/asm.rs
AgeCommit message (Collapse)AuthorLines
2014-03-20Removing imports of std::vec_ng::VecAlex Crichton-2/+0
It's now in the prelude.
2014-03-20rename std::vec_ng -> std::vecDaniel Micay-1/+1
Closes #12771
2014-03-13Fix and improve inline assembly.Piotr Czarnecki-50/+69
Read+write modifier Some documentation in asm.rs rpass and cfail tests
2014-03-01libsyntax: Fix errors arising from the automated `~[T]` conversionPatrick Walton-1/+5
2014-03-01libsyntax: Mechanically change `~[T]` to `Vec<T>`Patrick Walton-3/+3
2014-02-18Avoid returning original macro if expansion fails.Douglas Young-1/+1
Closes #11692. Instead of returning the original expression, a dummy expression (with identical span) is returned. This prevents infinite loops of failed expansions as well as odd double error messages in certain situations.
2014-02-02libsyntax: Remove all `@str` from the ASTPatrick Walton-9/+9
2014-02-02libsyntax: De-`@str` literal strings in the ASTPatrick Walton-2/+3
2014-01-18syntax::ext: replace span_fatal with span_err in many places.Huon Wilson-3/+6
This means that compilation continues for longer, and so we can see more errors per compile. This is mildly more user-friendly because it stops users having to run rustc n times to see n macro errors: just run it once to see all of them.
2014-01-09libsyntax: Renamed types, traits and enum variants to CamelCase.Eduard Burtescu-4/+4
2014-01-02libsyntax: De-`@mut` `Parser::last_span`Patrick Walton-4/+4
2014-01-02libsyntax: De-`@mut` `token` in the parserPatrick Walton-16/+16
2014-01-02libsyntax: Make the parser mutablePatrick Walton-3/+3
2013-12-29Start passing around &mut ExtCtxtSteven Fackler-1/+1
2013-12-28Stop using @ExtCtxtSteven Fackler-1/+1
2013-10-18Handle inline asm outputs as write-only in liveness, borrowck and trans.Eduard Burtescu-6/+15
2013-10-08add new enum ast::StrStyle as field to ast::lit_strBenjamin Herr-6/+12
For the benefit of the pretty printer we want to keep track of how string literals in the ast were originally represented in the source code. This commit changes parser functions so they don't extract strings from the token stream without at least also returning what style of string literal it was. This is stored in the resulting ast node for string literals, obviously, for the package id in `extern mod = r"package id"` view items, for the inline asm in `asm!()` invocations. For `asm!()`'s other arguments or for `extern "Rust" fn()` items, I just the style of string, because it seemed disproportionally cumbersome to thread that information through the string processing that happens with those string literals, given the limited advantage raw string literals would provide in these positions. The other syntax extensions don't seem to store passed string literals in the ast, so they also discard the style of strings they parse.
2013-09-30syntax: Remove usage of fmt!Alex Crichton-1/+1
2013-09-26Add 'continue' as a synonym for 'loop'Brian Anderson-6/+6
2013-09-10Delay assignment of node ids until after expansion. Ensures that each AST nodeNiko Matsakis-2/+2
has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two representative tests. Fixes #7971 Fixes #6304 Fixes #8367 Fixes #8754 Fixes #8852 Fixes #2543 Fixes #7654
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-4/+4
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-2/+2
2013-08-08env! syntax extension changesSteven Fackler-2/+2
env! aborts compilation of the specified environment variable is not defined and takes an optional second argument containing a custom error message. option_env! creates an Option<&'static str> containing the value of the environment variable. There are no run-pass tests that check the behavior when the environment variable is defined since the test framework doesn't support setting environment variables at compile time as opposed to runtime. However, both env! and option_env! are used inside of rustc itself, which should act as a sufficient test. Close #2248
2013-08-01make `in` and `foreach` get treated as keywordsDaniel Micay-2/+2
2013-07-12Remove the global 'vec::to_owned' functionAlex Crichton-3/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-3/+2
2013-06-13Revert "std: convert {vec,str}::to_owned to methods."Brian Anderson-1/+2
This fixes the strange random crashes in compile-fail tests. This reverts commit 96cd61ad034cc9e88ab6a7845c3480dbc1ea62f3. Conflicts: src/librustc/driver/driver.rs src/libstd/str.rs src/libsyntax/ext/quote.rs
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-7/+7
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: unify the str -> [u8] functions as 3 methods: .as_bytes() and ↵Huon Wilson-2/+0
.as_bytes_with_null[_consume](). The first acts on &str and is not nul-terminated, the last two act on strings that are always null terminated (&'static str, ~str and @str).
2013-06-12std: convert {vec,str}::to_owned to methods.Huon Wilson-1/+1
2013-06-11fix tests, remove some warningsHuon Wilson-1/+0
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-1/+1
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-2/+0
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+3
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-1/+1
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-1/+1
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-4/+4
2013-05-10renamed vec::from_slice to vec::to_ownedYoungsoo Son-1/+1
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-12/+0
2013-04-29librustc: Change labels to use the lifetime notation `'`.Patrick Walton-5/+18
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-03-27libsyntax: Allow selecting intel style asm.Luqman Aden-1/+5
2013-03-27libsyntax: use a struct for inline asm in ast.Luqman Aden-3/+9
2013-03-15Tidy.Luqman Aden-1/+1
2013-03-15Implicitly use addr_of for output operands in asm.Luqman Aden-0/+7
2013-03-15Actually pass inline asm operands around.Luqman Aden-1/+2
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-4/+4
2013-03-12Add alignstack option for inline asm.Luqman Aden-1/+4
2013-03-12Keep everything tidy.Luqman Aden-9/+8