rust/src/test
bors a3b6e5705c Auto merge of #65324 - Centril:organize-syntax, r=petrochenkov
Split libsyntax apart

In this PR the general idea is to separate the AST, parser, and friends by a more data / logic structure (tho not fully realized!) by separating out the parser and macro expansion code from libsyntax. Specifically have now three crates instead of one (libsyntax):

- libsyntax:

   - concrete syntax tree (`syntax::ast`)

   - definition of tokens and token-streams (`syntax::{token, tokenstream}`) -- used by `syntax::ast`

   - visitors (`syntax::visit`, `syntax::mut_visit`)

   - shared definitions between `libsyntax_expand`

   - feature gating (`syntax::feature_gate`) -- we could possibly move this out to its own crater later.

   - attribute and meta item utilities, including used-marking (`syntax::attr`)

   - pretty printer (`syntax::print`) -- this should possibly be moved out later. For now I've reduced down the dependencies to a single essential one which could be broken via `ParseSess`. This entails that e.g. `Debug` impls for `Path` cannot reference the pretty printer.

   - definition of `ParseSess` (`syntax::sess`) -- this is used by `syntax::{attr, print, feature_gate}` and is a common definition used by the parser and other things like librustc.

   - the `syntax::source_map` -- this includes definitions used by `syntax::ast` and other things but could ostensibly be moved `syntax_pos` since that is more related to this module.

   - a smattering of misc utilities not sufficiently important to itemize -- some of these could be moved to where they are used (often a single place) but I wanted to limit the scope of this PR.

- librustc_parse:

   - parser (`rustc_parse::parser`) -- reading a file and such are defined in the crate root tho.

   - lexer (`rustc_parse::lexer`)

   - validation of meta grammar (post-expansion) in (`rustc_parse::validate_attr`)

- libsyntax_expand -- this defines the infra for macro expansion and conditional compilation but this is not libsyntax_ext; we might want to merge them later but currently libsyntax_expand is depended on by librustc_metadata which libsyntax_ext is not.

   - conditional compilation (`syntax_expand::config`) -- moved from `syntax::config` to here

   - the bulk of this crate is made up of the old `syntax::ext`

r? @estebank
2019-11-10 12:18:53 +00:00
..
assembly
auxiliary
codegen Do not require extra LLVM backends for x.py test to pass 2019-11-04 16:54:34 +03:00
codegen-units Update test output. 2019-10-25 14:52:39 +02:00
compile-fail fix compile-fail test 2019-10-22 12:42:15 -07:00
debuginfo
incremental Rollup merge of #66216 - wesleywiser:const_prop_codegen_improvements, r=oli-obk 2019-11-10 09:27:17 +09:00
mir-opt Auto merge of #66259 - JohnTitor:rollup-x9nk1e2, r=JohnTitor 2019-11-10 02:15:28 +00:00
pretty Fix a previously forgotten pretty-printing test after a change to the pretty-printing mechanism. 2019-10-28 18:43:59 +01:00
run-fail [const-prop] Handle MIR Rvalue::Aggregates 2019-10-18 06:29:57 -04:00
run-make Upgrade Emscripten targets to use upstream LLVM backend 2019-10-16 17:06:48 -07:00
run-make-fulldeps rustc_metadata: don't let LLVM confuse rmeta blobs for COFF object files. 2019-11-09 02:06:22 +02:00
run-pass-valgrind
rustdoc Add more --extern tests. 2019-11-07 05:51:17 -08:00
rustdoc-js
rustdoc-js-std
rustdoc-ui use silent emitter for rustdoc highlighting pass 2019-11-03 22:19:34 -05:00
rustfix
ui Auto merge of #65324 - Centril:organize-syntax, r=petrochenkov 2019-11-10 12:18:53 +00:00
ui-fulldeps move syntax::parse -> librustc_parse 2019-11-10 03:57:18 +01:00
COMPILER_TESTS.md