rust/src/libsyntax_pos
Mazdak Farrokhzad 883fe10da2
Rollup merge of #65884 - Centril:non-hardcoded-abis, r=petrochenkov
syntax: ABI-oblivious grammar

This PR has the following effects:

1. `extern $lit` is now legal where `$lit:literal` and `$lit` is substituted for a string literal.

2. `extern "abi_that_does_not_exist"` is now *syntactically* legal whereas before, the set of ABI strings was hard-coded into the grammar of the language. With this PR, the set of ABIs are instead validated and translated during lowering. That seems more appropriate.

3. `ast::FloatTy` is now distinct from `rustc_target::abi::FloatTy`. The former is used substantially more and the translation between them is only necessary in a single place.

4. As a result of 2-3, libsyntax no longer depends on librustc_target, which should improve pipe-lining somewhat.

cc @rust-lang/lang -- the points 1-2 slightly change the definition of the language but in a way which seems consistent with our general principles (in particular wrt. the discussions of turning things into semantic errors). I expect this to be uncontroversial but it's worth letting y'all know. :)

r? @varkor
2019-11-07 08:51:55 +01:00
..
analyze_source_file libsyntax_pos: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00
symbol Remove gensyms 2019-10-15 21:12:05 +01:00
analyze_source_file.rs libsyntax_pos: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00
Cargo.toml remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
edition.rs syntax_pos: Remove the duplicate global edition 2019-08-15 20:41:45 +03:00
hygiene.rs caller_location: point to macro invocation sites, like file!/line!. 2019-10-30 18:54:40 +02:00
lib.rs Span cannot represent span.hi < span.lo 2019-11-01 23:40:07 +03:00
span_encoding.rs Increase Span from 4 bytes to 8 bytes. 2019-04-05 12:26:09 +11:00
symbol.rs Rollup merge of #65884 - Centril:non-hardcoded-abis, r=petrochenkov 2019-11-07 08:51:55 +01:00
tests.rs Fix the start/end byte positions in the compiler JSON output 2019-10-21 19:28:29 +03:00