This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch devel/rust/master in repository gcc.
from 1fb32d7293b cli: Add frust-extern option new ad3f88286e7 libproc_macro: Remove unused gm2 variable new 87abaedf5aa libproc_macro: Put all structures in a namespace new b0141f5adcc libproc_macro: Remove internal named namespaces new afcde5f8175 libproc_macro: Build statically new 6266d344d39 libproc_macro: Change proc_macro.h to main header new 7c7fa5f9999 Fix out of bounds indexing while expanding macros with repetition new d294dde0d29 Add is_expr method to AST::Stmt new 2e91a0bf655 Handle replacing stripped tail expressions new bb1e40da864 Add test from issue 1446 new 1e148981086 libproc_macro: Add proc_macro interface structures new f04cbc3f176 libproc_macro: Add helpers to construct Procmacro new 0a0114f5287 utils: Add bidirectional hashmap class new 58f866ba45b builtin: Cleanup handling of builtin macros new 8ff1e54d976 ast: Add Kind::MODULE new 0f9a757b73c ast: Add take_items() and set_items() methods for Item containers new 9d1e7f2cb0c enr: Accumulate nested escaped macros properly. new bd91c5696e7 ast: Format AST code properly. new cae5140e9b5 gccrs: Add missing compile locals for constants and statics new 85ca0ba8208 Fix "default unsafe fn ..." parsing new a252a9c12d7 gccrs: Fix ICE in check for unused global variables new ea597e73da5 gccrs: Redo how we handle unit types for the final time new af58bf3dd27 gccrs: we can only return unit-type when the ABI is non C new 6ff31ac29db gccrs: unify how we handle DST's new eb60cd1f6d5 gccrs: add missing coercion site code generation for block tail new 875cd5ee9c6 gccrs: Add missing coercion site logic to return expressions new 5ee23f588d9 Added HIR::InlineAsm node new b49c70be23e tokenstream: Convert group markers new fb2a8509d7a tokenstream: Convert single punctuation tokens new 75eb15164a2 tokenstream: Add joint punct token conversion new f087501e337 tokenstream: Add tokens to Ident conversion new 7358d90bb61 tokenstream: Add string and byte string literals new 96ed2e8e19e tokenstream: Add literal int draft conversion new a841180b026 tokenstream: Add conversion for float literals new c4e20409d74 ast: Rename TokenStream in the AST module new a4428373524 ast: Rename rust-ast-tokenstream file new 2dc0dab7e8e ast: Rename header guard new 8f6b7459551 ast: Move token converter out of ast module new b12481cf8ca converter: Remove redundant variable new 15225362fe3 converter: Add TokenStream conversion function new 87dfca85c99 converter: Add group conversion implementation new c24227d377f converter: Add from_tokentree function new c032b7c1037 converter: Return a vector to const pointers new 47eed0650ba converter: Const conversion to tokenstream new 58c10eb4fbd converter: Add punct conversion function new f616a5db5cc converter: Convert literals back to tokens new b61549737c5 converter: Add Ident conversions new 983b1132247 converter: Make converter input immutable new 39817cc6c96 converter: Fix some styling issues new 12d52ac0213 converter: Fix suffix condition new dc809645295 Address invalid little-endian-only testcases new 142b84e3c56 Handle keywords in macro fragments new 4cd88c4cd60 ast: Remove ExprStmtWithBlock / ExprStmtWithoutBlock distinction new 136ef0912e9 gccrs: Fix parsing of block expressions followed by `.` new e02b4427f87 Change return type of token_id_keyword_string new 7c03c7d73cc dump: Dump `TupleIndexExpr`s new 86dc0a1a1f6 Improve Optional<T&> implementation new 6dd946dc115 Allow hashing Optional<T> new d98e5aaa62b Make MacroInvocation cloning public new 9cbcb74d71d Add AST::AttrInputMacro new 37a893441ea libproc_macro: Change rust literal internals new 4c34885a5af libproc_macro: Change cpp literal representation new d8202b68bc6 converter: Merge dispatch into one function new 668c2200249 libproc_macro: Remove has_suffix attribute new 70c245e4e3e libproc_macro: Copy ffistring data from source new ad7c998b21c libproc_macro: Change constructor in ffistring new 5c78ef9854b ast: Add `outer_attrs` to all `Item`s new ee5b5905deb Handle keyword metavariables new cc661d8a33e Improve Optional<T> implementation new 4ddb7d143bc ast: Propagate type suffix new c7b7e297ea4 Parse AttrInputMacro new 003ac98771e Add operator== for Optional. new 1666b77ead3 gccrs: Only check first item of cfg_attr attribute as predicate new 6521333e402 gccrs: Fix macro resolutions in middle of multiple nested m [...] new 058682f736b enr: Cleanup #[macro_use] accumulation new 9e2ecdf3b9d hir: remove stray semicolon new e656f08b6f7 gccrs: refactor resolve_method_address to be more generic new d47f52a5831 gccrs: support deref cycles to resolve to trait items new 2d806801404 gccrs: Fix bounds checking to check both sides new 0162ff3900a Fix handling of single fragments in repetitions new 019dd7b55ff Avoid invalid metavariable substitutions new 2747ea19cea gccrs: Add missing HIR lowering to item statements new 82d9bd0b033 gccrs: remove useless lookup to NodeId new 85d2d5f0f80 gccrs: Fix missing pop of name scope at the end of Trait Impl new d3412f6cdc6 gccrs: remove unused header new bc2cac14138 gccrs: Add missing name resolution to item statements new fb1259001c2 gccrs: Fix cast site to not miss type-unifications new aa823eafca6 Make key and key/value config options seperate new e4359c47260 expand: Add missing copyright headers new a0e39c36e20 ast: Add AstBuilder class. new 1eef15537f2 expansion: Add base for deriving builtin macros (Clone, Copy...) new 18c00a4c0c1 gccrs: get rid of useless helper class and fix header usage new d0e9f47b084 Properly match delimiters new 3f60f6104a5 libproc_macro: Add Span definition new e26fea0f490 libproc_macro: Add cpp Span representation new f35d52ce69d converter: Add conversion from locations to spans new 430b26a3295 converter: Convert back Locations from spans new 7ffe13507fc converter: Refactor locations new 2e49323c759 derive: Add #[derive(Clone)] for regular structs new 2946327ff94 derive: Add #[derive(Copy)] builtin new d9c676cbfc3 derive: Add proper derive(Clone) for unions new 171ea4e2b3e fixup: Fix bootstrap build new cc09d0bf04f derive: Add dummy builtin transcriber for builtin derive macros. new e11efa45bf1 ast: dump literals correctly new 333e7a2b04e Allow parsing a borrow from struct expression new d5fddb55d34 Handle crate metavariable new 1b322540fa0 Prevent initialization related warnings/errors for Optional new 12d79b13fc3 gccrs: Respect the concrete type when resolving qualifed pa [...] new 25b40ba2e03 Add error message when derive macro is invoked new ab44003c26a Fix non-mod-rs files' external module loading paths new 69b2420743e collector: Move implementation to header new b966194fa31 attributes: Add allow_internal_unstable attribute new eace2796ddc libproc_macro: Add procmacro array definition new cba5e7468d7 expand: Add procmacro loading function new 7c0c0cb69ba libproc_macro: Rename Procmacro subtypes new 118518e2bac collector: Make visitors public new f13da289f1c libproc_macro: Fix capacity update in tokenstream new c60b36b977d libproc_macro: Fix Tokenstream growth new 562a0860f15 ast: Fix attribute collection new 12131c106fd expand: Add prc macro expander and registration new 3fcec13b136 expand: Add derive proc macro draft new 855a62d1305 expand: Move derive system to new one new 9829370cfbd expand: Remove proc macro fragment from expander new b21aa448a45 expand: Add in order trait expansion new 588b130c7cc expand: Expand item level attribute proc macros new b94c7a9748f expand: Allow empty derive attribute new edff04f5ddc expand: Make to_derive argument const new eedab85e02b gccrs: introduce new types_compatable new 533e1ef3ca4 Remove obsolete error diagnostic new e3e945f055f Fix ICE for reference patterns in match statements new e43261892fb gccrs: ensure assoicated types are setup for concrete trait [...] new c021eef8aa7 derive: Factor common fields inside the base visitor new c84e7d9db2d gccrs: fortify resolve_method_address to match the types new 61cbe201029 fixup: Fix missing build dependency new 706341acbd5 build: Do not build libgrust when rust is disabled new d1e10de0014 fixup: Remove old typecheck dump new b028c7ece2a gccrs: we can't check the bounds involving empty placeholder types new 7671253eda8 Remove direct error on macro rule count-related match failure new b533df36436 Prevent invalid iterator dereference new c05b7f22389 libcpp: add function to check XID properties new 1931d49c42a gccrs: tokenize Unicode identifiers new 3a0f10e7984 gccrs: Print macro invocations in AST dump new cbca7bdde22 gccrs: Handle tail expression normalization right before lo [...] new 33544f79849 gccrs: Parse semicolons in more cases for statement macros new dbf982cbd89 gccrs: Parse statement macros as statements. new 3a27f1e9058 gccrs: fix unsafe lookup at zero index new 7bb7c2a44e6 gccrs: add new method to infer impl block type new 8e2619254f7 gccrs: Fix generic argument tracking new 065d8c4d79d gccrs: Apply generic arguments to the respective trait bounds new c93eb308c5a ErrorCode[E0433] Use of Undeclared Crate, Module, or Type new d3b247e7336 Make MatchedFragmentContainer a tree-like structure new 5ab2f1b3aaf expand: Derive statements new 650ae19d146 expand: Add tail expr expansion new d37a1d54701 expand: Convert last statement to tail expr new be6d7343a5d expand: Merge arguments into one new 3ccf008b148 expand: Change names and document behavior new 210557d8a41 gccrs: Expand expressions/types correctly in more contexts. new 04eb580efaa ErrorCode[E0277] Type Does Not Implement Expected Trait new 337ed0fd1ba gccrs: Add method selection to operator overloading new ac43e5899cc gccrs: Stop autoderef of raw pointer types new 4c07c94212e rust: Add -frust-name-resolution-2.0 option new 96ba341e0fd Match tokens in macros more closely new f56fd7edc14 gccrs:[E0026] Non-Existent Field Extraction in Struct Pattern new 5711a2ad932 gccrs: [E0023] Incorrect Number of Fields in Pattern Extraction new 2983beb0d91 Insert empty repeated metavars for nested repetitions new 3d2a0c0445c gccrs: Refactor lexer to handle UTF-8 new d5723ccebbf ast: Change Identifier definition new 09512e61354 ast: Add explicit default copy constructor new 9e4c3ed357e gccrs: fix tokenizing utf-8 whitespaces new bc5b1b7b5cf gccrs: Add tests for Unicode identifiers new cf7095b0c6b dump: Remove tokenstream dump new 31d13f10b6c collector: Fix missing semicolon output new bfc620f80a6 dump: Replace ast dump internals new feddab8c7d7 dump: Output separating space under condition new 409d29c9915 collector: Remove external container new 299edc484ba collector: Store CollectItem instead of TokenPtr new 18a67ff6bfd collector: Implement formatting options new 2ddf542ed67 dump: Add formatting to dump new eb88e324cde gccrs: Track associated type generics new 7af86eaaffe gccrs: fix how we handle coercions and casts of unsafe pointers new 40b4f94e959 Improve macro repetition handling new 2e1f190573a gccrs: refactored field error function new abfb39e2c69 gccrs: fix lexing byte literal new 1db82e8886d parser: Propagate type hint value new 9d3f1985720 abi: Add testcase for using "Rust" as ABI string new d96093d97b5 gccrs: cleanup getters to return &unique_ptr instead of pointer new 539e4bcd98b gccrs: factor out inner attributes in a class new dc59fc36db0 gccrs: FullVisitable abstract class new f044da10735 gccrs: Add new getters new ec0c3ad30d2 gccrs: refactor: make crate.items private new 251348f3c8b gccrs: [E0027] struct pattern fails to specify struct's fields new cfc51d46fcd gccrs: fix ICE with inserting autoderef mappings new b49a9581d55 gccrs: Track fn_once output lang item properly new 5d33b88c81b gccrs: Remove unnecessary methods of `Rust::Lexer` new 2f91d511200 gccrs: minor HIR interface cleanup new 28be497dc33 gccrs: [E0229] associated type bindings error new 5406b633a1f gccrs: [E0034] Ambiguous Method Call Error new f2617325f87 gccrs: HIR cleanup new 0f898a4014f Change class Location into typedef new 5d8f78c9d22 gccrs: Add location info to `Rust::Identifier` new c8679a6d880 gccrs:[E0046] Missing Items in Trait Implementation new 5e735e9aaa7 Ignore semicolon following a macro expansion in expression context new 46a61f02f12 gccrs: add utf-8 validation for input source new 0aa7ed791bf gccrs: [E0063] constructor is missing fields new b9566fddf29 gccrs: [E0053] method 'x' has an incompatible type for trait 'y' new a5abd7d778b Reduce Linemap/Gcc_linemap abstraction new 65553ce9a98 gccrs: [E0425] Use of unresolved name new 5ca1ed03973 Reduce Linemap/Gcc_linemap abstraction further new bfea515f429 Create MacroInvocLexerBase new 8785f55655f collector: Fix some token collector new ff0e18be3f1 dump: Fix spacing with dots and references new b0da1695a86 collector: Fix method self parameter new 90160c17bb2 collector: Fix output for function qualifiers new 1d184037a3c collector: Fix doubled generics new 23d13cbcb39 collector: Fix trait impl block new af4407fdf64 collector: Change match arm format new 0081ef0dadd dump: Fix dollar spacing rule new 7743aeabab9 collector: Add generic to inherent impl block new dc6fb87fcfe collector: Reformat trait impl new ee95b41c072 collector: Fix missing trait generics new ac9003b440d collector: Add generics to external functions new 257d6ce56f8 collector: Add variadics to collector output new 8b28b320d34 collector: Output outer attributes on blockexpr new eb8f51036ac collector: Add where clause to trait impl block new 835f9300bd9 collector: Fix method qualifier output new 925310c10f3 collector: Output extern function attributes new 241fcaeb554 collector: Fix remaining trait & extern issues new e4647c3f343 collector: Fix abi output new 763dd38a492 Replace value initialization of Location with UNDEF_LOCATION new 49a6c70d606 optional: Import tl's optional type new e74cb8201fd optional: Adapt class to GCC's standards. new ba8453aeb72 util: Add tl::expected type new 44ffe119326 expected: Adapt type to GCC's requirements. new 3ebcb20e712 nr2.0: Add complex testcases new f7a29f5653a gccrs: [E0061] Refactored argument mismatch error function new a06cec181de gccrs: [E0070] invalid left-hand side of assignment new 1fe255e4928 Replace Linemap::unknown_location with UNKNOWN_LOCATION new 3016c44e535 gccrs: Remove Rust::Optional in favor of tl::optional new 6ba9a11eae9 Merge Gcc_linemap into Linemap new 5d124d1512f Add rust_error_at accepting location_t and ErrorCode new 1827610473e gccrs: [E0124] field x is already declared in struct new ff2d1b7cea4 gccrs: minor HIR cleanup new b68dd7e641d Merge Linemap::to_string into Linemap::location_to_string new d8b86f0d25f Remove unnecessary usage of Location copy constructor new 010e701e5f7 Change specifier of some forward declaration new 2377e5b2da3 Add missing virtual destructor to interfaces new a8d9f91114b remove braces around scalar initializers new 4bbf156f330 gccrs: minor HIR cleanup new 0bcba579624 dump: Output escaped character values new 1531c699220 mklog: handle Signed-Off-By, minor cleanup new 486c8b87e4d Remove Linemap::get_location new b75357f4a18 Change class RichLocation into typedef new d7f5c142793 Remove Linemap::start_line new 446ef149ebe Remove RichLocation typedef new 601c2893aa2 gccrs: [E0133] Use of unsafe code outside of unsafe functio [...] new 04353fb887c gccrs: [E0093] Declaration of unknown intrinsic function new a34d6675726 gccrs: [E0658] Use of unstable feature new 866512cbc09 rust-unreachable: Add specific behavior for rust_unreachable new ea69361b346 Add include guard for rust-gcc.h new 95e8c2d54f4 Remove Linemap::predeclared_location new d7651385b69 gccrs: [E0423] expected function, tuple struct or tuple var [...] new b7c8f5a33ba Move some Gcc_backend method definitions out of class declaration new 9cf8b77a3ef Replace some usages of Location with location_t new 0e7f04ad269 Replace some more usages of Location with location_t new 3e4fe9978f7 nr2.0: Add basic Rib class new 235dbf0b572 gccrs: rework the HIR dump pass new 011c867c0a9 nr2.0: Add `ForeverStack` data structure. new 9378b267776 cli: Add frust-type option new 04c9af6d0f2 proc_macro: Add from string implementation new 4332fbfaec8 libproc_macro: Change Ident structure new b8268b6b7bb libproc_macro: Change rust Ident definition new f715169a6ec proc macros: Add crate type attribute check new d6912fb38b9 proc macro: Detect malformed proc_macro_derive new 61fc7f1cb52 proc macro: Add help message to malformed derive new 242f7a92673 proc macro: Add crate type regression tests new aaeeaa2f777 Add a test for malformed derive declaration input new 41e7dee1030 gccrs: [E0268] break or continue used outside of loop new 97cbd459f43 Replace Location with location_t in gccrs backend new 6df293b14a8 Replace default argument with UNDEF_LOCATION new 3dab250b5e2 import: Add cli extern crate resolution new d2e35363789 import: Change package opening prototypes new 6b4f24c1ca6 import: Store procedural macros in extern crate new 071e02ed91d import: Change raw pointer to unique_ptr new 5539f28018b import: Load procedural macros into external crate new 01c316bc2b6 resolve: Add extern crate proc macro collection new dd4c38042c8 ast: Add manual dispatch for meta item downcasting new 224409f746f attribute: Add missing header guard new 361fd8fea7c resolve: Add mappings for proc macros and resolving new d597883ade4 resolve: Convert identifier to a SimplePath new 66975b3e729 resolve: Remove ProcMacroInvocable interface new 79fc30c7142 Improve keyword check while parsing a macro match new 9b971d3af0d Replace Location with location_t in parsing and macro expansion new 19983e80d9c Replace usages of Location with location_t in the lexer, AS [...] new ccac7ed46c2 Continue to replace usages of Location with location_t new 3e98458f7ea proc_macro: Increase FFIString usage new cd38fecd8fc proc_macro: Mirror FFIString changes in C++library new 245867e9999 gccrs: [E0323] Implemented associated const, expected anoth [...] new 7cfba279dad gccrs: [E0045] Variadic Parameters Used on Non-C ABI Function new 18837b84b58 Remove NodeId member from Identifier new dc9eaa15e98 Emit error with proc macro on non functions new d6eb8f38416 Add tests for non function proc_macro attributes new 456d1f0a04c Add tests for non function proc_macro_attribute new 9a906fea9e4 Add tests for non function proc_macro_derive new ac850d186ac proc macro: Add privacy check new 890f8db3d13 privacy: Add tests for private proc macro error new 5e48542f93d testsuite: Replace dg-excess-errors with dg-error new 72e6a1e85d7 testsuite: Add tests for pub items in proc_macros new f925f2f094d privacy: Refactor proc macro privacy check new ddce1d9e9e7 proc_macro: Refactor attribute search new 1074c90c805 proc_macro: Rename from_string callback symbol new 5b36e8993a5 proc_macro: Add is_available callback new 4321126f05b proc_macro: Add is_available function new 614f081a5e5 proc_macro: Remode function indirection new 851d83e3467 proc_macro: Delete unused prototype new 27f5146d486 proc_macro: Remove useless typedef new d76d64cb06e Run bootstrap builds on a schedule new d62a388625d Replace Location with location_t in unnamed function parameters new 67b2057b7aa Check proc_macro attributes on non root functions new 1bc8f08453e Add multiple tests for non root proc macro new b4d1406d6d9 gccrs: New Error Code Framework new 9b62bc32f58 Move callbacked function in a new namespace new 69454e53048 converter: Move literal conversion out new fe6ad2e676e proc_macro: Add literal_from_string callback new f201ef93a5d gccrs: [E0571] break with argument in non-loop loop new 69f6bc9c913 Replace usages of Location with location_t in typechecking new 611457431b3 Remove Location typedef new 42bd81f8df1 error codes: Add rust_error_codes.def, refactor ErrorCode enum new 7ce263e17a5 Add function for Unicode NFC normalization new 5a378edb750 gccrs: fix ICE when we have unimplemented/invalid trait items new 7bb4d1b7502 Move Gcc_backend declaration to header file new f284cff3ff9 gccrs: Track trait bound polarity properly new eefebdb3a1d gccrs: Track polarity in type bound predicate new 5785d329b1f gccrs: Begin enforcing Sized properly and support anti trai [...] new 5ad0febb770 gccrs: fix ice when function is outside of context new 4553f58e19f Add missing CHECKING_P guard to rust-unicode.cc new a3fc40c6749 gccrs: Add Unicode check for crate_name attributes new 22f4c74767b gccrs: Fix ICE by adding check for enum candidate's in Type [...] new c55ca4ed1fd gccrs: use tl::optional for macro transcribers new dba8bc5bf82 fix bootstrap build failure new cc167a9cc0d Use MacroInvocLexerBase in MacroInvocLexer new d20a2c270be gccrs: [E0572] return is outside of function context new 7515e1f72c8 name resolution 2.0: Add base for our context data structure new d9e87e719f9 top-level: Add base `TopLevel` visitor new 4f1838b8806 forever-stack: Use rust_assert instead of assert new f78dd97b87b gccrs: Normalize Hangul to NFC new bbeaf4b29c9 nr2.0: Add DefaultResolver visitor new b7c5b50a4e6 nr2.0: Use DefaultResolver for TopLevel new 36db4d9539e gccrs: better handling of incorrect file loading in include [...] new 6c631507058 gccrs: [E0308] mismatch types on assignment new 95dcbb25a11 mklog: handle Signed-Off-By, minor cleanup new 5eac6569123 gccrs: [E0635] Use of Unknown feature. new 0fe8a6b44d5 gccrs: [E0426] Use of undeclared label new a29abdd22b9 rib2.0: Add shadowing new be4dcaf1b87 forever stack: Add path resolution new 02d0d97229e resolver: Resolve macros too. new c9aeb8f914e toplevel: Handle macro definitions properly new d270a516e15 nr2.0: Visit receiver/call expression and arguments in call [...] new f868ca89b08 nr2.0: Add Early name resolution visitor new 980ef03bc57 session-manager: Run name resolution 2.0 if the option is present new d77abf259db nr2.0: Add complex macro name resolution test cases new 6993fe43fcd ast: Add `get_kind` method to `MacroRulesDefinition` new 88d258483f9 nr2.0: Add macros 2.0 in Ribs in TopLevel visitor new f7d937321b2 nr2.0: Add macros 2.0 resolution testcase. new 2fcf448238c gccrs: [E0107] Wrong number of generic argument new 87172a8bf9f gccrs: [E0015] Use of non-const inside const new be04efc9ce7 gccrs: [E0658] Unstable langauge feature new 07046b16e91 Fix a warning about extra semicolon new 74b83511e4e gccrs: [E0412] used type name not in scope new a4b7e7375fa gccrs: Normalize all identifier tokens new 09e23335a28 Remove Backend::bool_type and Backend::char_type new 0d678b209df Move Backend::error_variable to Bvariable::error_variable new a58485620d6 gccrs: [E0282] type annotations needed new 67d1f4a53e1 gccrs: [E0308] array misamatch types new ebd449ca972 gccrs: Add function `Rust::encode_punycode` new cd9a6e3bb58 Remove unneeded references to "this" in backend methods new e4da7e5d6be Basic formatting/comment fixes new 2da2efa10f3 gccrs: [E0703] Use of Invalid ABI new 152eb852643 gccrs: [E0541] Use of unknown meta item new e55113ea2bf gccrs: [E0054/E0604/E0620/E0606] TypeCasting ErrorCodes new 5712d7d383b gccrs: Adjust HIR dump for IfExpr and IfExprConseqElse new 969439fa8e9 macro-expand: Keep optional references to last_{def, invoc} new 2b1d37ced31 gccrs: clean up Codepoint and InputSource new 2691b544983 Use MacroInvocLexerBase in ProcMacroInvocLexer new 9ae3c203f76 gccrs: remove horrible hack in solving complex generics on [...] new 56680955c4a gccrs: Fix legacy mangling to use Unicode escape new c10d668b507 Add missing CHECKING_P guard to rust-punycode.cc new 086b7f9c9ae gccrs: Cleanup HIR dump new 1d52917eb8c gccrs: simplify matching possible candidates new b1dd4236cf5 gccrs: improve name mangling hash new 87c5cc15163 gccrs: Type annotation for make-unicode-data.py new 74b27ac68d8 diagnostics: Fix mismatch between new[] and free new 5545c75fa55 gccrs: [E0534] inline attribute was malformed new efa3041b4b1 gccrs: Support for rich-loc & errorcode in parser error new 0110145c1de gccrs: [E0753] Use of inner doc comment in invalid context new 3ef836fb091 gccrs: [E0380] Use of auto trait with method or associated item new b9ae3541a16 gccrs: [E0535] Unknown argument given to inline attribute new 294c5906d7b gccrs: [E0164] Neither tuple struct nor tuple variant used [...] new c5326821d39 fix lexer exponent output on tuple indices new 9ef8689c7fa Add a regression test for decimal lexing new d4bf5e3f23b gccrs: [E0034] found more than one items for method new 8ac2e43fb27 gccrs: Non-allowed default type paramters new 879a62f50dd gccrs: [E0391] Detected type dependency cycle new b1dd53faa1a gccrs: Add punycode encoding to v0 mangling new 79a7f07ff64 Handle gengtype annotations in rust-constexpr.cc new 3196ca35261 Remove stmt_tree and dependency on cp_token_cache new 8fcbb07fa70 gccrs: [E0573] Something other than type was used new ba4db84d492 Improve byte vector to string conversion new a6134331c80 gccrs: Invalid order of generic parameters new 4baf8ab8f21 gccrs: Fix compilation of types which hold onto dangling in [...] new c727e23596a Namespace related tweaks new 8e2e7fa0211 Rename some structs to avoid ODR issues new 1b158384d65 Fork c++ resorting methods new e493d7e0db9 gccrs: [E0271] Type mismatch between associated type trait. new f2fc29d4566 diagnostics: Added non-const `rich_location *` function new aea10051a69 Add missing gengtype related structs new 1c4f312e49d gccrs: [E0769] Use of tuple struct/variant in struct variant new 83fd38dfe0a Use checkout@v3 in workflows new 16939cc6458 Bump docker workflow dependencies new a8876144d7d Handle gengtype annotations in backend/rust-tree.{cc,h} new 9ff9f4ec325 Resolve nested macro definition new 764a6c27038 Add regression test for nested macros new 4d49db696bc Collect error instance instead of lambda functions new 53e6e5be47f gccrs: Fix bad uninit intrinsic new fabb8b050e3 gccrs: Fix overflow intrinsic use before init new 113fe163a4c gccrs: Mark uninit-intrinsic as side-effects new ba792413aef gccrs: Fix move_val_init new 52cf9a9a33a gccrs: fix bug in the iterator testcase new 5b2055d1043 Move type-related functions into base class Backend new b3933cc6ea4 Bump docker/build-push-action to v4 new acb4810bf06 Fix invalid call to vector::front in TypeBoundPredicate con [...] new 47d85417120 gccrs: [E0658] top level or-patterns are not allowed let binding new 6479fbfb226 gccrs: Add check for no_mangle attribute new 2382da192cc Fix ODR violations new 20f83726d40 Bump our docker build's debian base image version to match [...] new abf727d29eb Move label-related functions into base class Backend new cc42db3e7f0 Improve type checking for if expressions new b1956a4f70e Move debug-related functions into base class Backend new 45d892b542d gccrs: [E0603] Use of private item outside scope new 87037d678c0 Move variable-related methods into base class Backend new 1f2dc6402de Move some simple expression-related methods into base class [...] new 699f5257192 gccrs: [E0532] Pattern arm did not match expected kind new e5b5938b5ac gccrs:[E0592] methods or associated functions with same nam [...] new d6caab05c79 Move function-related methods into base class Backend new 22a045be3c1 Move statement-related methods into base class Backend new 879915d4a5b Rename libproc_macro to libproc_macro_internal new 52144478c6d libproc_macro: Split c++ and rust new 997fc94e109 Move block-related methods into base class Backend new fe9e3efdc04 gccrs: Fix match-expression code-gen new 6eaf1b28782 Make is_builtin a member function new 133d96c3756 Set traits getter as member function new 7cfad276623 Change trait getter to return references new 655da655c1b Ease some constraints on derive definition new 439508893b5 Parse unparsed derive tokenstreams new 32e861f1004 Visit function and structure attributes new 76263ca000a Add proc macro ast representation new 3c771822437 Add proc macros abstractions to crate structure new aa712861f41 Add getters for different types of proc macros new a3284ac1baa Change early resolver visit_attributes arguments new 441309ca1fa Add proc macro top level discovery new 3742a491c8f Move proc macro definition to mappings new 774de7cc867 Supress error with proc macro crates new 63af481671a Move extern crate resolving new f1527eff1e1 resolver: Refactor assertion new b2af85c218b resolver: Refactor macro insertion new 1588263d883 Clarify package import procedure new 850e118c612 Move remaining expression-related methods into base class Backend new 97bd31cdafe Remove Backend::write_export_data new 53ad5220c4e Use optional for proc macro invocation lookup new 99276280aa1 Change proc macro definition lookup to optionals new 32fea09d30f Retrieve def for derive & attribute proc macros new 9f7a9dfb26b Change proc macro mapping definition insertion new 241e53bc424 Add proc macro definition insertion new 4e7ae3938b2 Add missing linemap to lexer new e1d0b3cc028 Remove Gcc_backend new b6284bd9ff6 Unify raw attribute values new 8da5a49a0ee Convert class Backend into namespace new 139f6c38753 gccrs: [E0599] Failed to resovle method implementation new 6a8b207b9ef libgrust: Add dependency to libstdc++ new a804f981959 privacy: Add testcase for #1260 new da2203ca3f8 privacy: Uncomment test relying on #1257 new 1ee78b3892f Remove unused `ctx` argument in `make_unsigned_long_tree` function new d574b41ea1e Fix typechecking (and compilation) error for alt patterns i [...] new a6e33926b1f Shorten `make_unsigned_long_tree` code and remove `Backend: [...] new c86181cf8c2 Rename "rust_error_codes.def" to "rust-error-codes.def" new 710e6f03b6a rust-builtins: add likely and unlikey intrinsics new 92efa023591 rust-compile-intrinsic: add `copy` intrinsics ... new 3f886d81b26 Use namespace definition to simplify function declarations new a7ac7228e39 Remove unused complex number support new bdc7b1fa356 Memoize Backend::wchar_type new c5c4897e8d6 Add intrinsics::assume new 70ef8326595 gccrs: trivial typo fix. new 2322c30f8c5 Add license text to libproc_macro rust interface new 4bf84ba1545 gccrs: Minor typo fix new e6b2c1aea47 gccrs: Remove HIR::ForLoopExpr new a2d52501627 gccrs: [E0617] attempt for invalid type variable in variadi [...] new f9455fb91be gccrs: port over readonly_error from c-family for lvalue as [...] new 612a48a8891 gccrs: Add debug helper to dump HIR new 4d6a0094e9b Fix spelling new d0742b3695d Fix CanonicalPath for inherent impl new 289722166ed Fix ICE when emitting an error during cfg strip new 1908504f62d Fix type confusion in coercion new c7728c80203 Removed unnecessary comments new 10fd060d61f Fix parser bug on tupplestruct pattern new 007166ca6ce Add test for parser bug new 7292e71b61d gccrs: minor changes (typo and minor refactor) new 464cfa56f36 Adjust methods for TuplePatternItems to match TupleStructItems new 288536f73bc Rename cloning methods in TupleStructItems and TuplePatternItems new b6a420f645f gccrs: Initial implementation of v0 mangling new 08396ed5c25 Change debug log call to as_string function new a87e147ed5d Fix type param bound parsing with opening scope new 522528bce99 Add a regression test for global path parsing new e3fcc884cff TyTy: TyTy improved subclass casting and checking new 2b4eb390ec8 TyTy: use new subclass API new 18154096774 Fix pub unit type parsing new 9d0a0735834 Add regression test new abb2703e8fa Add comma for expr delimiter to fix match arms new 9ddb362bc0b Add regression test new c82bbb09b02 Replace get_pattern_node_id with get_node_id new 0ad10969521 Fix path expr segment parsing with generic path new ba0fb415bf2 Add a new regression test new 948523ad7e4 Allow call to macro named "default" at item level new 6658219e9b6 Add a new regression test for macro call "default" new 66aa1799f58 Fix RangeFromExpr parsing in for loops new 442008fb55f Add a new regression test new 0abe96a7d41 Add new regression test new 3e3180abd50 Allow macro named macro_rules new 9762e0915b1 Add new regression test new c3b68b53f27 Add a new test for mbe named macro_rules new 94b1ff75bb7 Add path to macro fragment follow restrictions new 813d0b956fd Add new regression test for macro matcher behavior new 0af6a9f1064 Break OR tokens in closure parameter list context new 25eb53ddb89 Add new test for closure in closure parsing new b3f02d9c8cb gccrs: Add tests for v0 mangling new cdd548b6491 Create base class AssociatedItem new ee60ec54292 ast: Parse labelled block new 483cb84277e hir: Lower labelled block new 155458a1259 resolve: Resolve labelled block new 8ad583020b0 typecheck: add loop ctx for labelled block new 9a53cb5c383 compile: bail on labelled block new 2ef9814c6e2 Make lowering of AssociatedItem instances polymorphic new 4931eb83390 Make resolution of AssociatedItem instances polymorphic new 8c7bc537efa hir: Refactor - avoid copy in getter new ef4d1a8e16a ast: Handle tuplestruct pattern with indices new a6c535de751 hir: Add missing getter new ba10e40be34 hir: Rename get_pattern_mappings method new 2e3e6003600 hir: Rename ComoundAssignment getters new af3071fc346 hir: Avoid copy in getter (PathPattern) new 4f0da0ec6e1 Parse const with no value expression new eb393ac7a90 Add a new regression test for issue 2665 new 9a8b3eaeddb Fix warning with overridden virtual methods
The 549 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: .github/workflows/bootstrap.yml | 7 +- .github/workflows/ccpp.yml | 8 +- .github/workflows/clang-format.yml | 2 +- .github/workflows/docker.yml | 10 +- Dockerfile | 2 +- Makefile.def | 4 +- Makefile.in | 827 +++- configure | 11 + configure.ac | 11 + contrib/mklog.py | 34 +- contrib/prepare-commit-msg | 20 +- gcc/rust/Make-lang.in | 38 +- gcc/rust/ast/rust-ast-builder.cc | 153 + gcc/rust/ast/rust-ast-builder.h | 116 + gcc/rust/ast/rust-ast-collector.cc | 2926 +++++++++++ ...rust-ast-tokenstream.h => rust-ast-collector.h} | 101 +- gcc/rust/ast/rust-ast-dump.cc | 1904 +------ gcc/rust/ast/rust-ast-dump.h | 287 +- gcc/rust/ast/rust-ast-formatting.cc | 4 +- gcc/rust/ast/rust-ast-fragment.cc | 10 +- gcc/rust/ast/rust-ast-fragment.h | 13 + gcc/rust/ast/rust-ast-full-decls.h | 11 +- gcc/rust/ast/rust-ast-tokenstream.cc | 2889 ----------- gcc/rust/ast/rust-ast-visitor.h | 4 +- gcc/rust/ast/rust-ast.cc | 336 +- gcc/rust/ast/rust-ast.h | 409 +- gcc/rust/ast/rust-expr.h | 623 ++- gcc/rust/ast/rust-item.h | 332 +- gcc/rust/ast/rust-macro.cc | 42 - gcc/rust/ast/rust-macro.h | 251 +- gcc/rust/ast/rust-path.cc | 8 +- gcc/rust/ast/rust-path.h | 134 +- gcc/rust/ast/rust-pattern.cc | 6 +- gcc/rust/ast/rust-pattern.h | 154 +- gcc/rust/ast/rust-stmt.h | 159 +- gcc/rust/ast/rust-type.h | 95 +- gcc/rust/backend/rust-builtins.cc | 6 + gcc/rust/backend/rust-compile-base.cc | 318 +- gcc/rust/backend/rust-compile-base.h | 81 +- gcc/rust/backend/rust-compile-block.cc | 78 +- gcc/rust/backend/rust-compile-block.h | 3 +- gcc/rust/backend/rust-compile-context.cc | 4 +- gcc/rust/backend/rust-compile-context.h | 17 +- gcc/rust/backend/rust-compile-expr.cc | 761 ++- gcc/rust/backend/rust-compile-expr.h | 15 +- gcc/rust/backend/rust-compile-extern.h | 39 +- gcc/rust/backend/rust-compile-fnparam.cc | 37 +- gcc/rust/backend/rust-compile-fnparam.h | 11 +- gcc/rust/backend/rust-compile-implitem.cc | 13 +- gcc/rust/backend/rust-compile-implitem.h | 13 +- gcc/rust/backend/rust-compile-intrinsic.cc | 401 +- gcc/rust/backend/rust-compile-item.cc | 47 +- gcc/rust/backend/rust-compile-item.h | 7 +- gcc/rust/backend/rust-compile-pattern.cc | 124 +- gcc/rust/backend/rust-compile-pattern.h | 23 +- gcc/rust/backend/rust-compile-resolve-path.cc | 30 +- gcc/rust/backend/rust-compile-resolve-path.h | 3 +- gcc/rust/backend/rust-compile-stmt.cc | 10 +- gcc/rust/backend/rust-compile-stmt.h | 1 + gcc/rust/backend/rust-compile-struct-field-expr.cc | 6 +- gcc/rust/backend/rust-compile-type.cc | 300 +- gcc/rust/backend/rust-compile-type.h | 3 + gcc/rust/backend/rust-compile-var-decl.h | 10 +- gcc/rust/backend/rust-compile.cc | 65 +- gcc/rust/backend/rust-constexpr.cc | 117 +- gcc/rust/backend/rust-mangle.cc | 455 +- gcc/rust/backend/rust-mangle.h | 6 +- gcc/rust/backend/rust-tree.cc | 117 +- gcc/rust/backend/rust-tree.h | 224 +- .../checks/errors/privacy/rust-privacy-check.cc | 4 +- .../checks/errors/privacy/rust-privacy-reporter.cc | 105 +- .../checks/errors/privacy/rust-privacy-reporter.h | 7 +- .../errors/privacy/rust-pub-restricted-visitor.cc | 4 +- .../errors/privacy/rust-pub-restricted-visitor.h | 2 +- .../errors/privacy/rust-visibility-resolver.cc | 6 +- gcc/rust/checks/errors/rust-const-checker.cc | 29 +- gcc/rust/checks/errors/rust-const-checker.h | 3 +- gcc/rust/checks/errors/rust-feature-gate.cc | 18 +- gcc/rust/checks/errors/rust-feature-gate.h | 6 +- gcc/rust/checks/errors/rust-feature.cc | 24 +- gcc/rust/checks/errors/rust-feature.h | 8 +- gcc/rust/checks/errors/rust-readonly-check.cc | 164 + .../errors/rust-readonly-check.h} | 29 +- gcc/rust/checks/errors/rust-unsafe-checker.cc | 43 +- gcc/rust/checks/errors/rust-unsafe-checker.h | 7 +- gcc/rust/checks/lints/rust-lint-marklive.cc | 11 +- gcc/rust/checks/lints/rust-lint-marklive.h | 6 - gcc/rust/checks/lints/rust-lint-scan-deadcode.h | 29 +- gcc/rust/checks/lints/rust-lint-unused-var.cc | 6 +- gcc/rust/config-lang.in | 5 +- gcc/rust/expand/rust-cfg-strip.cc | 33 +- gcc/rust/expand/rust-cfg-strip.h | 4 +- gcc/rust/expand/rust-derive-clone.cc | 188 + gcc/rust/expand/rust-derive-clone.h | 74 + gcc/rust/expand/rust-derive-copy.cc | 80 + .../rust-derive-copy.h} | 59 +- gcc/rust/expand/rust-derive.cc | 54 + gcc/rust/expand/rust-derive.h | 229 + gcc/rust/expand/rust-expand-visitor.cc | 548 +- gcc/rust/expand/rust-expand-visitor.h | 70 +- gcc/rust/expand/rust-macro-builtins.cc | 289 +- gcc/rust/expand/rust-macro-builtins.h | 128 +- gcc/rust/expand/rust-macro-expand.cc | 313 +- gcc/rust/expand/rust-macro-expand.h | 262 +- gcc/rust/expand/rust-macro-invoc-lexer.cc | 27 +- gcc/rust/expand/rust-macro-invoc-lexer.h | 46 +- gcc/rust/expand/rust-macro-substitute-ctx.cc | 150 +- gcc/rust/expand/rust-macro-substitute-ctx.h | 13 +- gcc/rust/expand/rust-proc-macro-invoc-lexer.cc | 50 + ...invoc-lexer.h => rust-proc-macro-invoc-lexer.h} | 37 +- gcc/rust/expand/rust-proc-macro.cc | 178 + gcc/rust/expand/rust-proc-macro.h | 90 + gcc/rust/hir/rust-ast-lower-base.cc | 35 +- gcc/rust/hir/rust-ast-lower-base.h | 8 +- gcc/rust/hir/rust-ast-lower-block.h | 1 + gcc/rust/hir/rust-ast-lower-expr.cc | 4 +- gcc/rust/hir/rust-ast-lower-implitem.h | 32 +- gcc/rust/hir/rust-ast-lower-item.cc | 32 +- gcc/rust/hir/rust-ast-lower-pattern.cc | 33 +- gcc/rust/hir/rust-ast-lower-stmt.cc | 310 +- gcc/rust/hir/rust-ast-lower-stmt.h | 6 +- gcc/rust/hir/rust-ast-lower-type.cc | 10 +- gcc/rust/hir/rust-ast-lower.cc | 45 +- gcc/rust/hir/rust-hir-dump.cc | 2719 ++++++++-- gcc/rust/hir/rust-hir-dump.h | 71 +- gcc/rust/hir/tree/rust-hir-expr.h | 659 ++- gcc/rust/hir/tree/rust-hir-full-decls.h | 13 +- gcc/rust/hir/tree/rust-hir-item.h | 380 +- gcc/rust/hir/tree/rust-hir-path.h | 106 +- gcc/rust/hir/tree/rust-hir-pattern.h | 154 +- gcc/rust/hir/tree/rust-hir-stmt.h | 34 +- gcc/rust/hir/tree/rust-hir-type.h | 82 +- gcc/rust/hir/tree/rust-hir-visitor.h | 3 - gcc/rust/hir/tree/rust-hir.cc | 149 +- gcc/rust/hir/tree/rust-hir.h | 150 +- gcc/rust/lang.opt | 32 + gcc/rust/lex/rust-input-source.h | 214 + gcc/rust/lex/rust-lex.cc | 755 ++- gcc/rust/lex/rust-lex.h | 118 +- gcc/rust/lex/rust-token.cc | 110 +- gcc/rust/lex/rust-token.h | 97 +- gcc/rust/metadata/rust-export-metadata.cc | 23 +- gcc/rust/metadata/rust-extern-crate.cc | 13 +- gcc/rust/metadata/rust-extern-crate.h | 12 +- gcc/rust/metadata/rust-import-archive.cc | 39 +- gcc/rust/metadata/rust-imports.cc | 83 +- gcc/rust/metadata/rust-imports.h | 36 +- gcc/rust/parse/rust-cfg-parser.cc | 2 +- gcc/rust/parse/rust-parse-impl.h | 2113 +++----- gcc/rust/parse/rust-parse.cc | 11 +- gcc/rust/parse/rust-parse.h | 109 +- gcc/rust/resolve/rust-ast-resolve-base.cc | 10 +- gcc/rust/resolve/rust-ast-resolve-base.h | 4 +- gcc/rust/resolve/rust-ast-resolve-expr.cc | 50 +- gcc/rust/resolve/rust-ast-resolve-implitem.h | 87 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 175 +- gcc/rust/resolve/rust-ast-resolve-item.h | 10 +- gcc/rust/resolve/rust-ast-resolve-path.cc | 18 +- gcc/rust/resolve/rust-ast-resolve-path.h | 2 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 36 +- gcc/rust/resolve/rust-ast-resolve-pattern.h | 6 +- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 22 + gcc/rust/resolve/rust-ast-resolve-stmt.h | 87 +- gcc/rust/resolve/rust-ast-resolve-toplevel.h | 132 +- gcc/rust/resolve/rust-ast-resolve-type.cc | 18 +- gcc/rust/resolve/rust-ast-resolve-type.h | 7 +- gcc/rust/resolve/rust-ast-resolve.cc | 2 +- gcc/rust/resolve/rust-ast-verify-assignee.h | 84 - gcc/rust/resolve/rust-default-resolver.cc | 821 +++ ...-ast-resolve-base.h => rust-default-resolver.h} | 139 +- gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 247 + gcc/rust/resolve/rust-early-name-resolver-2.0.h | 96 + gcc/rust/resolve/rust-early-name-resolver.cc | 156 +- gcc/rust/resolve/rust-early-name-resolver.h | 16 +- gcc/rust/resolve/rust-forever-stack.h | 572 +++ gcc/rust/resolve/rust-forever-stack.hxx | 492 ++ gcc/rust/resolve/rust-name-resolution-context.cc | 95 + gcc/rust/resolve/rust-name-resolution-context.h | 181 + gcc/rust/resolve/rust-name-resolver.cc | 30 +- gcc/rust/resolve/rust-name-resolver.h | 18 +- gcc/rust/resolve/rust-rib.cc | 72 + gcc/rust/resolve/rust-rib.h | 136 + .../resolve/rust-toplevel-name-resolver-2.0.cc | 315 ++ gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 82 + gcc/rust/rust-backend.h | 930 ++-- gcc/rust/rust-diagnostics.cc | 237 +- gcc/rust/rust-diagnostics.h | 179 +- gcc/rust/rust-error-codes.def | 524 ++ gcc/rust/rust-gcc.cc | 977 +--- gcc/rust/rust-gcc.h | 12 +- gcc/rust/rust-lang.cc | 42 +- gcc/rust/rust-linemap.cc | 169 +- gcc/rust/rust-linemap.h | 112 +- gcc/rust/rust-location.h | 78 +- gcc/rust/rust-session-manager.cc | 296 +- gcc/rust/rust-session-manager.h | 95 +- gcc/rust/rust-system.h | 9 +- gcc/rust/typecheck/rust-autoderef.cc | 123 +- gcc/rust/typecheck/rust-autoderef.h | 17 +- gcc/rust/typecheck/rust-casts.cc | 45 +- gcc/rust/typecheck/rust-casts.h | 9 +- gcc/rust/typecheck/rust-coercion.cc | 93 +- gcc/rust/typecheck/rust-coercion.h | 25 +- gcc/rust/typecheck/rust-hir-dot-operator.cc | 248 +- gcc/rust/typecheck/rust-hir-dot-operator.h | 4 + .../typecheck/rust-hir-inherent-impl-overlap.h | 7 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 24 +- gcc/rust/typecheck/rust-hir-path-probe.h | 23 +- gcc/rust/typecheck/rust-hir-trait-reference.cc | 16 +- gcc/rust/typecheck/rust-hir-trait-reference.h | 18 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 182 +- gcc/rust/typecheck/rust-hir-trait-resolve.h | 1 + gcc/rust/typecheck/rust-hir-type-check-base.cc | 30 +- gcc/rust/typecheck/rust-hir-type-check-base.h | 12 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 13 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 372 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 18 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 121 +- gcc/rust/typecheck/rust-hir-type-check-implitem.h | 1 + gcc/rust/typecheck/rust-hir-type-check-item.cc | 143 +- gcc/rust/typecheck/rust-hir-type-check-item.h | 5 + gcc/rust/typecheck/rust-hir-type-check-path.cc | 52 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 136 +- gcc/rust/typecheck/rust-hir-type-check-pattern.h | 3 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 26 +- gcc/rust/typecheck/rust-hir-type-check-stmt.h | 3 +- gcc/rust/typecheck/rust-hir-type-check-struct.cc | 29 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 221 +- gcc/rust/typecheck/rust-hir-type-check-type.h | 13 +- gcc/rust/typecheck/rust-hir-type-check-util.h | 50 - gcc/rust/typecheck/rust-hir-type-check.cc | 33 +- gcc/rust/typecheck/rust-hir-type-check.h | 2 +- gcc/rust/typecheck/rust-substitution-mapper.cc | 7 +- gcc/rust/typecheck/rust-substitution-mapper.h | 90 +- gcc/rust/typecheck/rust-tycheck-dump.h | 234 - gcc/rust/typecheck/rust-type-util.cc | 38 +- gcc/rust/typecheck/rust-type-util.h | 16 +- gcc/rust/typecheck/rust-typecheck-context.cc | 7 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 112 +- gcc/rust/typecheck/rust-tyty-bounds.h | 2 +- gcc/rust/typecheck/rust-tyty-call.cc | 143 +- gcc/rust/typecheck/rust-tyty-call.h | 60 +- gcc/rust/typecheck/rust-tyty-cmp.h | 140 +- gcc/rust/typecheck/rust-tyty-subst.cc | 64 +- gcc/rust/typecheck/rust-tyty-subst.h | 15 +- gcc/rust/typecheck/rust-tyty-util.cc | 4 +- gcc/rust/typecheck/rust-tyty-util.h | 8 +- gcc/rust/typecheck/rust-tyty.cc | 832 ++-- gcc/rust/typecheck/rust-tyty.h | 253 +- gcc/rust/typecheck/rust-unify.cc | 57 +- gcc/rust/typecheck/rust-unify.h | 6 +- gcc/rust/{hir/rust-ast-lower.h => util/bi-map.h} | 56 +- gcc/rust/util/expected.h | 2440 +++++++++ gcc/rust/util/make-rust-unicode.py | 293 ++ gcc/rust/util/optional.h | 2059 ++++++++ gcc/rust/util/rust-attribute-values.h | 40 + gcc/rust/util/rust-attributes.cc | 283 +- gcc/rust/util/rust-attributes.h | 8 +- gcc/rust/util/rust-canonical-path.h | 12 +- gcc/rust/{lex => util}/rust-codepoint.h | 6 + gcc/rust/util/rust-common.h | 23 +- .../util/{rust-make-unique.h => rust-dir-owner.cc} | 25 +- gcc/rust/util/{rust-abi.h => rust-dir-owner.h} | 31 +- gcc/rust/util/rust-hir-map.cc | 289 +- gcc/rust/util/rust-hir-map.h | 79 +- gcc/rust/util/rust-identifier.h | 4 +- gcc/rust/util/rust-mapping-common.h | 2 +- gcc/rust/util/rust-optional-test.cc | 110 - gcc/rust/util/rust-optional.h | 279 -- gcc/rust/util/rust-punycode.cc | 182 + .../rust-ast-resolve.h => util/rust-punycode.h} | 37 +- gcc/rust/util/rust-token-converter.cc | 451 ++ .../util/{rust-common.h => rust-token-converter.h} | 44 +- gcc/rust/util/rust-unicode-data.h | 5208 ++++++++++++++++++++ gcc/rust/util/rust-unicode.cc | 444 ++ gcc/rust/util/rust-unicode.h | 87 + gcc/testsuite/rust/compile/abi-options1.rs | 6 +- gcc/testsuite/rust/compile/abi-vardaic.rs | 7 + gcc/testsuite/rust/compile/all-cast.rs | 11 + gcc/testsuite/rust/compile/arrays1.rs | 2 +- gcc/testsuite/rust/compile/arrays2.rs | 2 +- gcc/testsuite/rust/compile/assume.rs | 13 + gcc/testsuite/rust/compile/attr_deprecated_2.rs | 2 +- gcc/testsuite/rust/compile/auto_trait_invalid.rs | 2 +- .../{bad-crate-name.rs => bad-crate-name1.rs} | 0 gcc/testsuite/rust/compile/bad-crate-name2.rs | 2 + gcc/testsuite/rust/compile/bad_as_bool_char.rs | 14 +- gcc/testsuite/rust/compile/bad_inner_doc.rs | 4 +- gcc/testsuite/rust/compile/bad_pub_enumitems.rs | 4 +- gcc/testsuite/rust/compile/bad_type1.rs | 2 +- gcc/testsuite/rust/compile/bad_type2.rs | 2 +- gcc/testsuite/rust/compile/bounds1.rs | 3 + gcc/testsuite/rust/compile/braced_macro_arm.rs | 19 + .../rust/compile/braced_macro_statements1.rs | 15 + .../rust/compile/braced_macro_statements2.rs | 15 + .../rust/compile/braced_macro_statements3.rs | 11 + gcc/testsuite/rust/compile/break-rust2.rs | 2 +- gcc/testsuite/rust/compile/break1.rs | 3 +- gcc/testsuite/rust/compile/break2.rs | 4 +- .../rust/compile/break_continue_outside_loop.rs | 10 + .../rust/compile/break_with_value_inside_loop.rs | 14 + gcc/testsuite/rust/compile/broken_utf8.rs | 2 + gcc/testsuite/rust/compile/bytecharstring.rs | 3 + gcc/testsuite/rust/compile/canonical_paths1.rs | 3 + gcc/testsuite/rust/compile/cast1.rs | 2 +- gcc/testsuite/rust/compile/cast4.rs | 2 +- gcc/testsuite/rust/compile/cast5.rs | 6 +- gcc/testsuite/rust/compile/cast_generics.rs | 3 + gcc/testsuite/rust/compile/cfg-attr.rs | 7 + gcc/testsuite/rust/compile/cfg2.rs | 3 +- gcc/testsuite/rust/compile/cfg6.rs | 4 + gcc/testsuite/rust/compile/changed_intrinsics.rs | 9 + gcc/testsuite/rust/compile/closure_in_closure.rs | 8 + gcc/testsuite/rust/compile/closure_no_type_anno.rs | 3 + .../rust/compile/complex_qualified_path_in_expr.rs | 5 +- gcc/testsuite/rust/compile/const-issue1440.rs | 4 +- gcc/testsuite/rust/compile/const_generics_1.rs | 3 + gcc/testsuite/rust/compile/const_generics_3.rs | 2 +- gcc/testsuite/rust/compile/const_generics_4.rs | 2 +- gcc/testsuite/rust/compile/const_generics_6.rs | 2 +- gcc/testsuite/rust/compile/const_generics_8.rs | 3 + gcc/testsuite/rust/compile/continue1.rs | 3 +- gcc/testsuite/rust/compile/deadcode_err1.rs | 2 +- gcc/testsuite/rust/compile/deadcode_err2.rs | 4 +- gcc/testsuite/rust/compile/derive_empty.rs | 6 + gcc/testsuite/rust/compile/derive_macro1.rs | 15 + gcc/testsuite/rust/compile/derive_macro3.rs | 24 + gcc/testsuite/rust/compile/derive_macro4.rs | 19 + gcc/testsuite/rust/compile/derive_macro6.rs | 24 + gcc/testsuite/rust/compile/derive_macro7.rs | 8 + gcc/testsuite/rust/compile/derive_macro8.rs | 9 + gcc/testsuite/rust/compile/doc_macro.rs | 1 + gcc/testsuite/rust/compile/dup_fields.rs | 8 +- .../rust/compile/empty_file} | 0 gcc/testsuite/rust/compile/expected_type_args2.rs | 3 + gcc/testsuite/rust/compile/expected_type_args3.rs | 3 + gcc/testsuite/rust/compile/feature.rs | 8 +- gcc/testsuite/rust/compile/for_expr.rs | 6 + gcc/testsuite/rust/compile/found_struct.rs | 11 + gcc/testsuite/rust/compile/func1.rs | 2 +- gcc/testsuite/rust/compile/func2.rs | 2 +- gcc/testsuite/rust/compile/func3.rs | 2 +- gcc/testsuite/rust/compile/func4.rs | 2 +- gcc/testsuite/rust/compile/func5.rs | 2 +- gcc/testsuite/rust/compile/generics1.rs | 5 +- gcc/testsuite/rust/compile/generics10.rs | 2 +- gcc/testsuite/rust/compile/generics11.rs | 3 + gcc/testsuite/rust/compile/generics12.rs | 3 + gcc/testsuite/rust/compile/generics13.rs | 2 +- gcc/testsuite/rust/compile/generics2.rs | 5 +- gcc/testsuite/rust/compile/generics3.rs | 5 +- gcc/testsuite/rust/compile/generics4.rs | 9 +- gcc/testsuite/rust/compile/generics6.rs | 9 +- gcc/testsuite/rust/compile/generics7.rs | 8 +- gcc/testsuite/rust/compile/generics8.rs | 5 +- gcc/testsuite/rust/compile/if_let_expr.rs | 3 + .../rust/compile/implicit_returns_err1.rs | 2 +- .../rust/compile/implicit_returns_err2.rs | 2 +- .../rust/compile/implicit_returns_err3.rs | 2 +- .../rust/compile/implicit_returns_err4.rs | 2 +- gcc/testsuite/rust/compile/inline_2.rs | 5 +- gcc/testsuite/rust/compile/issue-1005.rs | 3 + gcc/testsuite/rust/compile/issue-1019.rs | 3 + gcc/testsuite/rust/compile/issue-1031.rs | 3 + gcc/testsuite/rust/compile/issue-1034.rs | 3 + .../rust/compile/{ => issue-1089}/test_mod.rs | 0 gcc/testsuite/rust/compile/issue-1128.rs | 3 + gcc/testsuite/rust/compile/issue-1129-2.rs | 3 + gcc/testsuite/rust/compile/issue-1130.rs | 3 + gcc/testsuite/rust/compile/issue-1131.rs | 3 + gcc/testsuite/rust/compile/issue-1152.rs | 4 +- gcc/testsuite/rust/compile/issue-1165.rs | 3 + gcc/testsuite/rust/compile/issue-1173.rs | 3 + gcc/testsuite/rust/compile/issue-1235.rs | 3 + gcc/testsuite/rust/compile/issue-1237.rs | 3 + gcc/testsuite/rust/compile/issue-1289.rs | 3 + gcc/testsuite/rust/compile/issue-1383.rs | 3 + gcc/testsuite/rust/compile/issue-1446.rs | 10 + gcc/testsuite/rust/compile/issue-1447.rs | 3 + gcc/testsuite/rust/compile/issue-1589.rs | 7 +- gcc/testsuite/rust/compile/issue-1725-1.rs | 3 + gcc/testsuite/rust/compile/issue-1725-2.rs | 5 +- gcc/testsuite/rust/compile/issue-1773.rs | 3 + gcc/testsuite/rust/compile/issue-1786.rs | 3 + gcc/testsuite/rust/compile/issue-1813.rs | 9 + gcc/testsuite/rust/compile/issue-1893.rs | 6 +- gcc/testsuite/rust/compile/issue-1901.rs | 3 + gcc/testsuite/rust/compile/issue-1930.rs | 3 + gcc/testsuite/rust/compile/issue-1981.rs | 7 +- gcc/testsuite/rust/compile/issue-2019-1.rs | 25 + gcc/testsuite/rust/compile/issue-2019-2.rs | 33 + ..._macro_qual_path_in_type.rs => issue-2019-3.rs} | 6 +- gcc/testsuite/rust/compile/issue-2029.rs | 3 +- gcc/testsuite/rust/compile/issue-2036.rs | 39 + gcc/testsuite/rust/compile/issue-2037.rs | 3 + gcc/testsuite/rust/compile/issue-2070.rs | 3 + gcc/testsuite/rust/compile/issue-2105.rs | 26 + gcc/testsuite/rust/compile/issue-2106.rs | 3 + gcc/testsuite/rust/compile/issue-2135.rs | 3 + gcc/testsuite/rust/compile/issue-2136-1.rs | 3 + gcc/testsuite/rust/compile/issue-2136-2.rs | 3 + gcc/testsuite/rust/compile/issue-2139.rs | 6 +- gcc/testsuite/rust/compile/issue-2142.rs | 3 + gcc/testsuite/rust/compile/issue-2165.rs | 12 + gcc/testsuite/rust/compile/issue-2166.rs | 26 + gcc/testsuite/rust/compile/issue-2178.rs | 10 + gcc/testsuite/rust/compile/issue-2188.rs | 1 + gcc/testsuite/rust/compile/issue-2189.rs | 5 + gcc/testsuite/rust/compile/issue-2190-1.rs | 13 + gcc/testsuite/rust/compile/issue-2190-2.rs | 23 + gcc/testsuite/rust/compile/issue-2195.rs | 11 + gcc/testsuite/rust/compile/issue-2207.rs | 12 + gcc/testsuite/rust/compile/issue-2225.rs | 14 + gcc/testsuite/rust/compile/issue-2238.rs | 18 + gcc/testsuite/rust/compile/issue-2304.rs | 26 + .../rust/compile/{issue-1981.rs => issue-2330.rs} | 108 +- gcc/testsuite/rust/compile/issue-2375.rs | 14 + gcc/testsuite/rust/compile/issue-2391.rs | 10 + gcc/testsuite/rust/compile/issue-2421_str.rs | 10 + gcc/testsuite/rust/compile/issue-2431.rs | 6 + gcc/testsuite/rust/compile/issue-2477.rs | 3 + gcc/testsuite/rust/compile/issue-2478.rs | 16 + gcc/testsuite/rust/compile/issue-2479.rs | 22 + gcc/testsuite/rust/compile/issue-2514.rs | 14 + gcc/testsuite/rust/compile/issue-2645.rs | 4 + gcc/testsuite/rust/compile/issue-2665.rs | 6 + gcc/testsuite/rust/compile/issue-407-2.rs | 27 +- gcc/testsuite/rust/compile/issue-407.rs | 7 +- gcc/testsuite/rust/compile/issue-850.rs | 3 + gcc/testsuite/rust/compile/issue-855.rs | 3 + gcc/testsuite/rust/compile/issue-867.rs | 2 +- gcc/testsuite/rust/compile/issue-925.rs | 8 +- gcc/testsuite/rust/compile/iterators1.rs | 551 +++ gcc/testsuite/rust/compile/let_alt.rs | 2 +- gcc/testsuite/rust/compile/macro-delim.rs | 8 + gcc/testsuite/rust/compile/macro-issue1400.rs | 3 + gcc/testsuite/rust/compile/macro-issue2192.rs | 7 + gcc/testsuite/rust/compile/macro-issue2194.rs | 7 + gcc/testsuite/rust/compile/macro-issue2229.rs | 6 + gcc/testsuite/rust/compile/macro-issue2264.rs | 12 + gcc/testsuite/rust/compile/macro-issue2268.rs | 5 + gcc/testsuite/rust/compile/macro-issue2273.rs | 7 + gcc/testsuite/rust/compile/macro-issue2653.rs | 5 + gcc/testsuite/rust/compile/macro20.rs | 3 + gcc/testsuite/rust/compile/macro23.rs | 3 + gcc/testsuite/rust/compile/macro40.rs | 3 + gcc/testsuite/rust/compile/macro43.rs | 3 +- gcc/testsuite/rust/compile/macro52.rs | 11 + gcc/testsuite/rust/compile/macro53.rs | 10 + gcc/testsuite/rust/compile/macro54.rs | 41 + gcc/testsuite/rust/compile/macro55.rs | 10 + gcc/testsuite/rust/compile/macro56.rs | 9 + gcc/testsuite/rust/compile/macro57.rs | 13 + gcc/testsuite/rust/compile/macro6.rs | 2 +- gcc/testsuite/rust/compile/macro7.rs | 2 +- gcc/testsuite/rust/compile/macro_call_statement.rs | 11 + .../rust/compile/macro_rules_macro_rules.rs | 10 + gcc/testsuite/rust/compile/macro_use1.rs | 15 + gcc/testsuite/rust/compile/match4.rs | 2 +- gcc/testsuite/rust/compile/match5.rs | 2 +- gcc/testsuite/rust/compile/match_break.rs | 14 + gcc/testsuite/rust/compile/method1.rs | 3 +- gcc/testsuite/rust/compile/mismatched-types.rs | 9 + .../rust/compile/missing_constructor_fields.rs | 10 + gcc/testsuite/rust/compile/mod_missing_middle.rs | 6 +- .../missing_middle/both_path.rs | 0 .../missing_middle/explicit.not.rs | 0 .../missing_middle/explicit.not}/other.rs | 0 .../missing_middle/inner_path.rs | 0 .../missing_middle/outer_path.rs | 0 .../missing_middle/sub/mod.rs | 0 gcc/testsuite/rust/compile/name_resolution1.rs | 9 + gcc/testsuite/rust/compile/name_resolution10.rs | 19 + gcc/testsuite/rust/compile/name_resolution2.rs | 16 + gcc/testsuite/rust/compile/name_resolution3.rs | 9 + gcc/testsuite/rust/compile/name_resolution4.rs | 16 + gcc/testsuite/rust/compile/name_resolution5.rs | 15 + gcc/testsuite/rust/compile/name_resolution6.rs | 28 + gcc/testsuite/rust/compile/name_resolution7.rs | 17 + gcc/testsuite/rust/compile/name_resolution8.rs | 26 + gcc/testsuite/rust/compile/name_resolution9.rs | 17 + gcc/testsuite/rust/compile/nested_generic.rs | 3 + .../rust/compile/nested_macro_definition.rs | 16 + gcc/testsuite/rust/compile/nested_macro_use1.rs | 19 + gcc/testsuite/rust/compile/nested_macro_use2.rs | 12 + gcc/testsuite/rust/compile/nested_macro_use3.rs | 16 + gcc/testsuite/rust/compile/non_member_const.rs | 13 + .../rust/compile/not_find_value_in_scope.rs | 7 + .../parse_associated_type_as_generic_arg.rs | 3 + .../parse_associated_type_as_generic_arg2.rs | 3 + .../parse_associated_type_as_generic_arg3.rs | 3 + .../compile/parse_complex_generic_application.rs | 3 + .../compile/parse_complex_generic_application2.rs | 3 + .../rust/compile/parse_generic_path_expr.rs | 4 + .../rust/compile/parse_global_path_generic.rs | 4 + .../rust/compile/parse_item_default_macro.rs | 8 + gcc/testsuite/rust/compile/parse_pub_unit_type.rs | 1 + gcc/testsuite/rust/compile/parse_specialization.rs | 2 + gcc/testsuite/rust/compile/path_as_generic_arg.rs | 3 + gcc/testsuite/rust/compile/pattern-struct.rs | 18 + gcc/testsuite/rust/compile/privacy1.rs | 2 +- gcc/testsuite/rust/compile/privacy3.rs | 2 +- gcc/testsuite/rust/compile/privacy4.rs | 5 +- gcc/testsuite/rust/compile/privacy5.rs | 2 +- gcc/testsuite/rust/compile/privacy6.rs | 8 +- gcc/testsuite/rust/compile/privacy9.rs | 6 + .../compile/proc_macro_attribute_crate_type.rs | 4 + .../compile/proc_macro_attribute_non_function.rs | 58 + .../proc_macro_attribute_non_root_function.rs | 6 + .../proc_macro_attribute_non_root_method.rs | 10 + .../proc_macro_attribute_non_root_module.rs | 6 + .../rust/compile/proc_macro_attribute_private.rs | 4 + .../rust/compile/proc_macro_crate_type.rs | 4 + .../rust/compile/proc_macro_derive_crate_type.rs | 6 + .../rust/compile/proc_macro_derive_malformed.rs | 4 + .../rust/compile/proc_macro_derive_non_function.rs | 60 + .../compile/proc_macro_derive_non_root_function.rs | 6 + .../compile/proc_macro_derive_non_root_method.rs | 12 + .../compile/proc_macro_derive_non_root_module.rs | 6 + .../rust/compile/proc_macro_derive_private.rs | 6 + .../rust/compile/proc_macro_non_function.rs | 57 + .../rust/compile/proc_macro_non_root_function.rs | 6 + .../rust/compile/proc_macro_non_root_method.rs | 10 + .../rust/compile/proc_macro_non_root_module.rs | 6 + gcc/testsuite/rust/compile/proc_macro_private.rs | 4 + .../rust/compile/proc_macro_pub_function.rs | 3 + .../rust/compile/proc_macro_pub_module.rs | 3 + .../rust/compile/range_from_expr_for_loop.rs | 7 + gcc/testsuite/rust/compile/reference1.rs | 2 +- gcc/testsuite/rust/compile/rust_abi.rs | 1 + gcc/testsuite/rust/compile/shadow1.rs | 1 - .../rust/compile/sizeof-stray-infer-var-bug.rs | 3 + gcc/testsuite/rust/compile/stmt_with_block_dot.rs | 23 + gcc/testsuite/rust/compile/stmt_with_block_err1.rs | 4 +- gcc/testsuite/rust/compile/struct-expr-parse.rs | 7 + .../rust/compile/torture/associated_types1.rs | 3 + .../torture/{ => extern_mod1}/modules/mod.rs | 0 .../rust/compile/torture/forward_decl_5.rs | 3 + gcc/testsuite/rust/compile/torture/generics1.rs | 3 + gcc/testsuite/rust/compile/torture/generics10.rs | 3 + gcc/testsuite/rust/compile/torture/generics11.rs | 3 + gcc/testsuite/rust/compile/torture/generics12.rs | 3 + gcc/testsuite/rust/compile/torture/generics13.rs | 3 + gcc/testsuite/rust/compile/torture/generics14.rs | 3 + gcc/testsuite/rust/compile/torture/generics15.rs | 3 + gcc/testsuite/rust/compile/torture/generics16.rs | 3 + gcc/testsuite/rust/compile/torture/generics17.rs | 3 + gcc/testsuite/rust/compile/torture/generics18.rs | 3 + gcc/testsuite/rust/compile/torture/generics19.rs | 3 + gcc/testsuite/rust/compile/torture/generics2.rs | 3 + gcc/testsuite/rust/compile/torture/generics20.rs | 3 + gcc/testsuite/rust/compile/torture/generics21.rs | 3 + gcc/testsuite/rust/compile/torture/generics22.rs | 3 + gcc/testsuite/rust/compile/torture/generics23.rs | 3 + gcc/testsuite/rust/compile/torture/generics24.rs | 3 + gcc/testsuite/rust/compile/torture/generics25.rs | 3 + gcc/testsuite/rust/compile/torture/generics26.rs | 3 + gcc/testsuite/rust/compile/torture/generics27.rs | 3 + gcc/testsuite/rust/compile/torture/generics28.rs | 3 + gcc/testsuite/rust/compile/torture/generics29.rs | 3 + gcc/testsuite/rust/compile/torture/generics3.rs | 3 + gcc/testsuite/rust/compile/torture/generics30.rs | 3 + gcc/testsuite/rust/compile/torture/generics31.rs | 3 + gcc/testsuite/rust/compile/torture/generics32.rs | 3 + gcc/testsuite/rust/compile/torture/generics4.rs | 3 + gcc/testsuite/rust/compile/torture/generics5.rs | 3 + gcc/testsuite/rust/compile/torture/generics6.rs | 3 + gcc/testsuite/rust/compile/torture/generics7.rs | 3 + gcc/testsuite/rust/compile/torture/generics8.rs | 3 + gcc/testsuite/rust/compile/torture/generics9.rs | 3 + gcc/testsuite/rust/compile/torture/intrinsics-2.rs | 3 + gcc/testsuite/rust/compile/torture/intrinsics-3.rs | 2 +- gcc/testsuite/rust/compile/torture/intrinsics-6.rs | 3 + gcc/testsuite/rust/compile/torture/intrinsics-7.rs | 3 + gcc/testsuite/rust/compile/torture/intrinsics-8.rs | 3 + gcc/testsuite/rust/compile/torture/issue-1024.rs | 3 + gcc/testsuite/rust/compile/torture/issue-1075.rs | 3 + gcc/testsuite/rust/compile/torture/issue-1432.rs | 5 +- gcc/testsuite/rust/compile/torture/issue-1555.rs | 3 + gcc/testsuite/rust/compile/torture/issue-368.rs | 3 + gcc/testsuite/rust/compile/torture/issue-808.rs | 3 + gcc/testsuite/rust/compile/torture/issue-862.rs | 4 + gcc/testsuite/rust/compile/torture/issue-893-2.rs | 3 + gcc/testsuite/rust/compile/torture/issue-893.rs | 3 + .../rust/compile/torture/{loop4.rs => loop8.rs} | 4 +- gcc/testsuite/rust/compile/torture/must_use2.rs | 3 + gcc/testsuite/rust/compile/torture/nested_fn2.rs | 3 + gcc/testsuite/rust/compile/torture/phantom_data.rs | 3 + .../rust/compile/torture/range-lang-item1.rs | 3 + .../rust/compile/torture/raw_identifiers.rs | 8 + gcc/testsuite/rust/compile/torture/traits1.rs | 3 + gcc/testsuite/rust/compile/torture/traits11.rs | 3 + gcc/testsuite/rust/compile/torture/traits12.rs | 3 + gcc/testsuite/rust/compile/torture/traits13.rs | 3 + gcc/testsuite/rust/compile/torture/traits14.rs | 3 + gcc/testsuite/rust/compile/torture/traits15.rs | 3 + gcc/testsuite/rust/compile/torture/traits16.rs | 3 + gcc/testsuite/rust/compile/torture/traits17.rs | 3 + gcc/testsuite/rust/compile/torture/traits18.rs | 3 + gcc/testsuite/rust/compile/torture/traits19.rs | 3 + gcc/testsuite/rust/compile/torture/traits2.rs | 3 + gcc/testsuite/rust/compile/torture/traits3.rs | 3 + gcc/testsuite/rust/compile/torture/traits4.rs | 3 + gcc/testsuite/rust/compile/torture/traits5.rs | 3 + gcc/testsuite/rust/compile/torture/traits6.rs | 3 + gcc/testsuite/rust/compile/torture/traits7.rs | 3 + gcc/testsuite/rust/compile/torture/traits8.rs | 3 + gcc/testsuite/rust/compile/torture/traits9.rs | 3 + .../rust/compile/torture/transmute-size-check-1.rs | 3 + gcc/testsuite/rust/compile/torture/transmute1.rs | 3 + .../rust/compile/torture/uninit-intrinsic-1.rs | 3 + .../rust/compile/torture/utf8_identifiers.rs | 21 + .../rust/compile/torture/utf8_whitespaces.rs | 16 + gcc/testsuite/rust/compile/trait-cycle.rs | 4 + gcc/testsuite/rust/compile/traits1.rs | 5 +- gcc/testsuite/rust/compile/traits10.rs | 3 + gcc/testsuite/rust/compile/traits11.rs | 3 + gcc/testsuite/rust/compile/traits12.rs | 3 + gcc/testsuite/rust/compile/traits2.rs | 7 +- gcc/testsuite/rust/compile/traits3.rs | 7 +- gcc/testsuite/rust/compile/traits4.rs | 3 + gcc/testsuite/rust/compile/traits5.rs | 3 + gcc/testsuite/rust/compile/traits6.rs | 3 + gcc/testsuite/rust/compile/traits7.rs | 3 + gcc/testsuite/rust/compile/traits8.rs | 3 + gcc/testsuite/rust/compile/traits9.rs | 3 + gcc/testsuite/rust/compile/tuple_mismatch.rs | 2 +- gcc/testsuite/rust/compile/tuple_struct2.rs | 2 +- gcc/testsuite/rust/compile/tuple_struct3.rs | 2 +- .../rust/compile/tupple_struct_pattern_tuple.rs | 4 + gcc/testsuite/rust/compile/type-bindings1.rs | 7 +- gcc/testsuite/rust/compile/type-if.rs | 5 + gcc/testsuite/rust/compile/unary_negation.rs | 1 - gcc/testsuite/rust/compile/unary_not.rs | 1 - .../rust/compile/unconstrained_type_param.rs | 4 +- gcc/testsuite/rust/compile/undeclared_label.rs | 16 + gcc/testsuite/rust/compile/unicode_norm1.rs | 6 + gcc/testsuite/rust/compile/unsafe10.rs | 3 + gcc/testsuite/rust/compile/usize1.rs | 1 - gcc/testsuite/rust/compile/v0-mangle1.rs | 70 + gcc/testsuite/rust/compile/variadic.rs | 8 +- gcc/testsuite/rust/compile/while_break_expr.rs | 3 + gcc/testsuite/rust/compile/wrong_lhs_assignment.rs | 7 + .../rust/compile/wrong_no_of_parameters.rs | 9 + gcc/testsuite/rust/execute/same_field_name.rs | 8 + gcc/testsuite/rust/execute/torture/cfg-tail.rs | 9 + gcc/testsuite/rust/execute/torture/closure1.rs | 3 + gcc/testsuite/rust/execute/torture/closure2.rs | 3 + gcc/testsuite/rust/execute/torture/closure3.rs | 3 + gcc/testsuite/rust/execute/torture/closure4.rs | 3 + gcc/testsuite/rust/execute/torture/coercion1.rs | 3 + gcc/testsuite/rust/execute/torture/coercion2.rs | 3 + gcc/testsuite/rust/execute/torture/coercion3.rs | 38 + .../rust/execute/torture/copy_nonoverlapping1.rs | 4 +- .../rust/execute/torture/derive_macro1.rs | 26 + .../rust/execute/torture/derive_macro3.rs | 22 + .../rust/execute/torture/derive_macro4.rs | 32 + .../torture/{ => extern_mod4}/modules/mod.rs | 0 gcc/testsuite/rust/execute/torture/index1.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1120.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1133.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1198.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1232.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1249.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1436.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1496.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1720-2.rs | 3 + gcc/testsuite/rust/execute/torture/issue-1720.rs | 3 + gcc/testsuite/rust/execute/torture/issue-2052.rs | 3 + gcc/testsuite/rust/execute/torture/issue-2179.rs | 32 + gcc/testsuite/rust/execute/torture/issue-2180.rs | 37 + gcc/testsuite/rust/execute/torture/issue-2236.rs | 40 + gcc/testsuite/rust/execute/torture/issue-2583.rs | 13 + gcc/testsuite/rust/execute/torture/issue-647.rs | 3 + gcc/testsuite/rust/execute/torture/issue-845.rs | 3 + gcc/testsuite/rust/execute/torture/issue-851.rs | 3 + gcc/testsuite/rust/execute/torture/issue-858.rs | 3 + gcc/testsuite/rust/execute/torture/iter1.rs | 552 +++ gcc/testsuite/rust/execute/torture/macro_use1.rs | 18 + gcc/testsuite/rust/execute/torture/macros23.rs | 3 + gcc/testsuite/rust/execute/torture/macros28.rs | 3 + gcc/testsuite/rust/execute/torture/method2.rs | 3 + gcc/testsuite/rust/execute/torture/method3.rs | 3 + gcc/testsuite/rust/execute/torture/method4.rs | 3 + .../rust/execute/torture/operator_overload_1.rs | 3 + .../rust/execute/torture/operator_overload_10.rs | 3 + .../rust/execute/torture/operator_overload_11.rs | 3 + .../rust/execute/torture/operator_overload_12.rs | 3 + .../rust/execute/torture/operator_overload_2.rs | 3 + .../rust/execute/torture/operator_overload_3.rs | 3 + .../rust/execute/torture/operator_overload_4.rs | 3 + .../rust/execute/torture/operator_overload_5.rs | 3 + .../rust/execute/torture/operator_overload_6.rs | 3 + .../rust/execute/torture/operator_overload_7.rs | 3 + .../rust/execute/torture/operator_overload_8.rs | 3 + .../rust/execute/torture/operator_overload_9.rs | 3 + .../rust/execute/torture/prefetch_data.rs | 3 + gcc/testsuite/rust/execute/torture/ref-pattern2.rs | 3 + gcc/testsuite/rust/execute/torture/slice-magic.rs | 3 + gcc/testsuite/rust/execute/torture/slice-magic2.rs | 3 + gcc/testsuite/rust/execute/torture/slice1.rs | 3 + gcc/testsuite/rust/execute/torture/str-layout1.rs | 3 + gcc/testsuite/rust/execute/torture/trait1.rs | 3 + gcc/testsuite/rust/execute/torture/trait10.rs | 3 + gcc/testsuite/rust/execute/torture/trait11.rs | 3 + gcc/testsuite/rust/execute/torture/trait12.rs | 3 + gcc/testsuite/rust/execute/torture/trait13.rs | 3 + gcc/testsuite/rust/execute/torture/trait2.rs | 3 + gcc/testsuite/rust/execute/torture/trait3.rs | 3 + gcc/testsuite/rust/execute/torture/trait4.rs | 3 + gcc/testsuite/rust/execute/torture/trait5.rs | 3 + gcc/testsuite/rust/execute/torture/trait6.rs | 3 + gcc/testsuite/rust/execute/torture/trait7.rs | 3 + gcc/testsuite/rust/execute/torture/trait8.rs | 3 + gcc/testsuite/rust/execute/torture/trait9.rs | 3 + gcc/testsuite/rust/execute/torture/transmute1.rs | 3 + gcc/testsuite/rust/execute/torture/wrapping_op1.rs | 3 + gcc/testsuite/rust/execute/torture/wrapping_op2.rs | 3 + gcc/testsuite/rust/link/generic_function_0.rs | 3 + gcc/testsuite/rust/link/generic_function_1.rs | 3 + gcc/testsuite/rust/link/trait_import_0.rs | 3 + libcpp/charset.cc | 36 + libcpp/include/cpplib.h | 7 + libgrust/Makefile.am | 8 +- libgrust/Makefile.in | 5 +- libgrust/configure | 6 +- libgrust/configure.ac | 2 +- libgrust/libproc_macro/Makefile.in | 717 --- .../libproc_macro/{proc_macro.cc => bridge.rs} | 16 +- .../{ident.cc => bridge/ffistring.rs} | 87 +- libgrust/libproc_macro/{rust => }/bridge/group.rs | 31 +- libgrust/libproc_macro/bridge/ident.rs | 80 + libgrust/libproc_macro/bridge/literal.rs | 263 + .../libproc_macro/{group.cc => bridge/punct.rs} | 48 +- .../libproc_macro/{tokentree.cc => bridge/span.rs} | 82 +- .../{rust => }/bridge/token_stream.rs | 35 +- libgrust/libproc_macro/{rust => }/group.rs | 22 + libgrust/libproc_macro/{rust => }/ident.rs | 22 + libgrust/libproc_macro/{rust => }/lib.rs | 22 + libgrust/libproc_macro/literal.cc | 291 -- libgrust/libproc_macro/literal.h | 211 - libgrust/libproc_macro/{rust => }/literal.rs | 22 + libgrust/libproc_macro/{rust => }/punct.rs | 22 + libgrust/libproc_macro/rust/bridge.rs | 14 - libgrust/libproc_macro/rust/bridge/ident.rs | 68 - libgrust/libproc_macro/rust/bridge/literal.rs | 401 -- libgrust/libproc_macro/rust/bridge/punct.rs | 37 - libgrust/libproc_macro/rust/bridge/span.rs | 32 - libgrust/libproc_macro/{rust => }/span.rs | 22 + libgrust/libproc_macro/{rust => }/token_stream.rs | 22 + .../Makefile.am | 37 +- .../libproc_macro_internal}/Makefile.in | 191 +- .../bridge.h} | 15 +- .../ffistring.cc} | 67 +- .../punct.h => libproc_macro_internal/ffistring.h} | 38 +- .../group.cc | 8 +- .../group.h | 19 +- .../ident.cc | 31 +- .../ident.h | 22 +- libgrust/libproc_macro_internal/literal.cc | 250 + libgrust/libproc_macro_internal/literal.h | 113 + .../proc_macro.cc | 41 + libgrust/libproc_macro_internal/proc_macro.h | 104 + .../punct.cc | 8 +- .../punct.h | 13 +- .../registration.h} | 35 +- .../group.cc => libproc_macro_internal/span.cc} | 19 +- .../punct.h => libproc_macro_internal/span.h} | 28 +- .../tokenstream.cc | 42 +- .../tokenstream.h | 27 +- .../tokentree.cc | 12 +- .../tokentree.h | 20 +- 772 files changed, 40513 insertions(+), 19506 deletions(-) create mode 100644 gcc/rust/ast/rust-ast-builder.cc create mode 100644 gcc/rust/ast/rust-ast-builder.h create mode 100644 gcc/rust/ast/rust-ast-collector.cc rename gcc/rust/ast/{rust-ast-tokenstream.h => rust-ast-collector.h} (86%) delete mode 100644 gcc/rust/ast/rust-ast-tokenstream.cc create mode 100644 gcc/rust/checks/errors/rust-readonly-check.cc rename gcc/rust/{typecheck/rust-hir-type-check-util.cc => checks/errors/rust-reado [...] create mode 100644 gcc/rust/expand/rust-derive-clone.cc create mode 100644 gcc/rust/expand/rust-derive-clone.h create mode 100644 gcc/rust/expand/rust-derive-copy.cc copy gcc/rust/{ast/rust-ast-formatting.h => expand/rust-derive-copy.h} (53%) create mode 100644 gcc/rust/expand/rust-derive.cc create mode 100644 gcc/rust/expand/rust-derive.h create mode 100644 gcc/rust/expand/rust-proc-macro-invoc-lexer.cc copy gcc/rust/expand/{rust-macro-invoc-lexer.h => rust-proc-macro-invoc-lexer.h} (61%) create mode 100644 gcc/rust/expand/rust-proc-macro.cc create mode 100644 gcc/rust/expand/rust-proc-macro.h create mode 100644 gcc/rust/lex/rust-input-source.h delete mode 100644 gcc/rust/resolve/rust-ast-verify-assignee.h create mode 100644 gcc/rust/resolve/rust-default-resolver.cc copy gcc/rust/resolve/{rust-ast-resolve-base.h => rust-default-resolver.h} (85%) create mode 100644 gcc/rust/resolve/rust-early-name-resolver-2.0.cc create mode 100644 gcc/rust/resolve/rust-early-name-resolver-2.0.h create mode 100644 gcc/rust/resolve/rust-forever-stack.h create mode 100644 gcc/rust/resolve/rust-forever-stack.hxx create mode 100644 gcc/rust/resolve/rust-name-resolution-context.cc create mode 100644 gcc/rust/resolve/rust-name-resolution-context.h create mode 100644 gcc/rust/resolve/rust-rib.cc create mode 100644 gcc/rust/resolve/rust-rib.h create mode 100644 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc create mode 100644 gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h create mode 100644 gcc/rust/rust-error-codes.def delete mode 100644 gcc/rust/typecheck/rust-hir-type-check-util.h delete mode 100644 gcc/rust/typecheck/rust-tycheck-dump.h copy gcc/rust/{hir/rust-ast-lower.h => util/bi-map.h} (50%) create mode 100644 gcc/rust/util/expected.h create mode 100644 gcc/rust/util/make-rust-unicode.py create mode 100644 gcc/rust/util/optional.h create mode 100644 gcc/rust/util/rust-attribute-values.h rename gcc/rust/{lex => util}/rust-codepoint.h (87%) copy gcc/rust/util/{rust-make-unique.h => rust-dir-owner.cc} (54%) copy gcc/rust/util/{rust-abi.h => rust-dir-owner.h} (70%) delete mode 100644 gcc/rust/util/rust-optional-test.cc delete mode 100644 gcc/rust/util/rust-optional.h create mode 100644 gcc/rust/util/rust-punycode.cc copy gcc/rust/{resolve/rust-ast-resolve.h => util/rust-punycode.h} (60%) create mode 100644 gcc/rust/util/rust-token-converter.cc copy gcc/rust/util/{rust-common.h => rust-token-converter.h} (63%) create mode 100644 gcc/rust/util/rust-unicode-data.h create mode 100644 gcc/rust/util/rust-unicode.cc create mode 100644 gcc/rust/util/rust-unicode.h create mode 100644 gcc/testsuite/rust/compile/abi-vardaic.rs create mode 100644 gcc/testsuite/rust/compile/all-cast.rs create mode 100644 gcc/testsuite/rust/compile/assume.rs rename gcc/testsuite/rust/compile/{bad-crate-name.rs => bad-crate-name1.rs} (100%) create mode 100644 gcc/testsuite/rust/compile/bad-crate-name2.rs create mode 100644 gcc/testsuite/rust/compile/braced_macro_arm.rs create mode 100644 gcc/testsuite/rust/compile/braced_macro_statements1.rs create mode 100644 gcc/testsuite/rust/compile/braced_macro_statements2.rs create mode 100644 gcc/testsuite/rust/compile/braced_macro_statements3.rs create mode 100644 gcc/testsuite/rust/compile/break_continue_outside_loop.rs create mode 100644 gcc/testsuite/rust/compile/break_with_value_inside_loop.rs create mode 100644 gcc/testsuite/rust/compile/broken_utf8.rs create mode 100644 gcc/testsuite/rust/compile/cfg-attr.rs create mode 100644 gcc/testsuite/rust/compile/cfg6.rs create mode 100644 gcc/testsuite/rust/compile/changed_intrinsics.rs create mode 100644 gcc/testsuite/rust/compile/closure_in_closure.rs create mode 100644 gcc/testsuite/rust/compile/derive_empty.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro1.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro3.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro4.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro6.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro7.rs create mode 100644 gcc/testsuite/rust/compile/derive_macro8.rs create mode 100644 gcc/testsuite/rust/compile/doc_macro.rs copy gcc/{config/i386/t-cygwin-w64 => testsuite/rust/compile/empty_file} (100%) create mode 100644 gcc/testsuite/rust/compile/for_expr.rs create mode 100644 gcc/testsuite/rust/compile/found_struct.rs rename gcc/testsuite/rust/compile/{ => issue-1089}/test_mod.rs (100%) create mode 100644 gcc/testsuite/rust/compile/issue-1446.rs create mode 100644 gcc/testsuite/rust/compile/issue-1813.rs create mode 100644 gcc/testsuite/rust/compile/issue-2019-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2019-2.rs copy gcc/testsuite/rust/compile/{expand_macro_qual_path_in_type.rs => issue-2019-3 [...] create mode 100644 gcc/testsuite/rust/compile/issue-2036.rs create mode 100644 gcc/testsuite/rust/compile/issue-2105.rs create mode 100644 gcc/testsuite/rust/compile/issue-2165.rs create mode 100644 gcc/testsuite/rust/compile/issue-2166.rs create mode 100644 gcc/testsuite/rust/compile/issue-2178.rs create mode 100644 gcc/testsuite/rust/compile/issue-2188.rs create mode 100644 gcc/testsuite/rust/compile/issue-2189.rs create mode 100644 gcc/testsuite/rust/compile/issue-2190-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2190-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-2195.rs create mode 100644 gcc/testsuite/rust/compile/issue-2207.rs create mode 100644 gcc/testsuite/rust/compile/issue-2225.rs create mode 100644 gcc/testsuite/rust/compile/issue-2238.rs create mode 100644 gcc/testsuite/rust/compile/issue-2304.rs copy gcc/testsuite/rust/compile/{issue-1981.rs => issue-2330.rs} (68%) create mode 100644 gcc/testsuite/rust/compile/issue-2375.rs create mode 100644 gcc/testsuite/rust/compile/issue-2391.rs create mode 100644 gcc/testsuite/rust/compile/issue-2421_str.rs create mode 100644 gcc/testsuite/rust/compile/issue-2431.rs create mode 100644 gcc/testsuite/rust/compile/issue-2477.rs create mode 100644 gcc/testsuite/rust/compile/issue-2478.rs create mode 100644 gcc/testsuite/rust/compile/issue-2479.rs create mode 100644 gcc/testsuite/rust/compile/issue-2514.rs create mode 100644 gcc/testsuite/rust/compile/issue-2645.rs create mode 100644 gcc/testsuite/rust/compile/issue-2665.rs create mode 100644 gcc/testsuite/rust/compile/iterators1.rs create mode 100644 gcc/testsuite/rust/compile/macro-delim.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2192.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2194.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2229.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2264.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2268.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2273.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2653.rs create mode 100644 gcc/testsuite/rust/compile/macro52.rs create mode 100644 gcc/testsuite/rust/compile/macro53.rs create mode 100644 gcc/testsuite/rust/compile/macro54.rs create mode 100644 gcc/testsuite/rust/compile/macro55.rs create mode 100644 gcc/testsuite/rust/compile/macro56.rs create mode 100644 gcc/testsuite/rust/compile/macro57.rs create mode 100644 gcc/testsuite/rust/compile/macro_call_statement.rs create mode 100644 gcc/testsuite/rust/compile/macro_rules_macro_rules.rs create mode 100644 gcc/testsuite/rust/compile/macro_use1.rs create mode 100644 gcc/testsuite/rust/compile/match_break.rs create mode 100644 gcc/testsuite/rust/compile/mismatched-types.rs create mode 100644 gcc/testsuite/rust/compile/missing_constructor_fields.rs rename gcc/testsuite/rust/compile/{ => mod_missing_middle}/missing_middle/both_pat [...] rename gcc/testsuite/rust/compile/{ => mod_missing_middle}/missing_middle/explicit [...] rename gcc/testsuite/rust/compile/{missing_middle => mod_missing_middle/missing_mi [...] rename gcc/testsuite/rust/compile/{ => mod_missing_middle}/missing_middle/inner_pa [...] rename gcc/testsuite/rust/compile/{ => mod_missing_middle}/missing_middle/outer_pa [...] rename gcc/testsuite/rust/compile/{ => mod_missing_middle}/missing_middle/sub/mod. [...] create mode 100644 gcc/testsuite/rust/compile/name_resolution1.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution10.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution2.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution3.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution4.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution5.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution6.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution7.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution8.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution9.rs create mode 100644 gcc/testsuite/rust/compile/nested_macro_definition.rs create mode 100644 gcc/testsuite/rust/compile/nested_macro_use1.rs create mode 100644 gcc/testsuite/rust/compile/nested_macro_use2.rs create mode 100644 gcc/testsuite/rust/compile/nested_macro_use3.rs create mode 100644 gcc/testsuite/rust/compile/non_member_const.rs create mode 100644 gcc/testsuite/rust/compile/not_find_value_in_scope.rs create mode 100644 gcc/testsuite/rust/compile/parse_generic_path_expr.rs create mode 100644 gcc/testsuite/rust/compile/parse_global_path_generic.rs create mode 100644 gcc/testsuite/rust/compile/parse_item_default_macro.rs create mode 100644 gcc/testsuite/rust/compile/parse_pub_unit_type.rs create mode 100644 gcc/testsuite/rust/compile/pattern-struct.rs create mode 100644 gcc/testsuite/rust/compile/privacy9.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_crate_type.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_non_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_non_root_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_non_root_method.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_non_root_module.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_attribute_private.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_crate_type.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_crate_type.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_malformed.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_non_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_non_root_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_non_root_method.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_non_root_module.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_derive_private.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_non_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_non_root_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_non_root_method.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_non_root_module.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_private.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_pub_function.rs create mode 100644 gcc/testsuite/rust/compile/proc_macro_pub_module.rs create mode 100644 gcc/testsuite/rust/compile/range_from_expr_for_loop.rs create mode 100644 gcc/testsuite/rust/compile/rust_abi.rs create mode 100644 gcc/testsuite/rust/compile/stmt_with_block_dot.rs create mode 100644 gcc/testsuite/rust/compile/struct-expr-parse.rs rename gcc/testsuite/rust/compile/torture/{ => extern_mod1}/modules/mod.rs (100%) copy gcc/testsuite/rust/compile/torture/{loop4.rs => loop8.rs} (73%) create mode 100644 gcc/testsuite/rust/compile/torture/utf8_identifiers.rs create mode 100644 gcc/testsuite/rust/compile/torture/utf8_whitespaces.rs create mode 100644 gcc/testsuite/rust/compile/trait-cycle.rs create mode 100644 gcc/testsuite/rust/compile/tupple_struct_pattern_tuple.rs create mode 100644 gcc/testsuite/rust/compile/type-if.rs create mode 100644 gcc/testsuite/rust/compile/undeclared_label.rs create mode 100644 gcc/testsuite/rust/compile/unicode_norm1.rs create mode 100644 gcc/testsuite/rust/compile/v0-mangle1.rs create mode 100644 gcc/testsuite/rust/compile/while_break_expr.rs create mode 100644 gcc/testsuite/rust/compile/wrong_lhs_assignment.rs create mode 100644 gcc/testsuite/rust/compile/wrong_no_of_parameters.rs create mode 100644 gcc/testsuite/rust/execute/same_field_name.rs create mode 100644 gcc/testsuite/rust/execute/torture/cfg-tail.rs create mode 100644 gcc/testsuite/rust/execute/torture/coercion3.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive_macro1.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive_macro3.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive_macro4.rs rename gcc/testsuite/rust/execute/torture/{ => extern_mod4}/modules/mod.rs (100%) create mode 100644 gcc/testsuite/rust/execute/torture/issue-2179.rs create mode 100644 gcc/testsuite/rust/execute/torture/issue-2180.rs create mode 100644 gcc/testsuite/rust/execute/torture/issue-2236.rs create mode 100644 gcc/testsuite/rust/execute/torture/issue-2583.rs create mode 100644 gcc/testsuite/rust/execute/torture/iter1.rs create mode 100644 gcc/testsuite/rust/execute/torture/macro_use1.rs delete mode 100644 libgrust/libproc_macro/Makefile.in copy libgrust/libproc_macro/{proc_macro.cc => bridge.rs} (80%) copy libgrust/libproc_macro/{ident.cc => bridge/ffistring.rs} (50%) rename libgrust/libproc_macro/{rust => }/bridge/group.rs (50%) create mode 100644 libgrust/libproc_macro/bridge/ident.rs create mode 100644 libgrust/libproc_macro/bridge/literal.rs copy libgrust/libproc_macro/{group.cc => bridge/punct.rs} (58%) copy libgrust/libproc_macro/{tokentree.cc => bridge/span.rs} (51%) rename libgrust/libproc_macro/{rust => }/bridge/token_stream.rs (75%) rename libgrust/libproc_macro/{rust => }/group.rs (69%) rename libgrust/libproc_macro/{rust => }/ident.rs (62%) rename libgrust/libproc_macro/{rust => }/lib.rs (83%) delete mode 100644 libgrust/libproc_macro/literal.cc delete mode 100644 libgrust/libproc_macro/literal.h rename libgrust/libproc_macro/{rust => }/literal.rs (82%) rename libgrust/libproc_macro/{rust => }/punct.rs (70%) delete mode 100644 libgrust/libproc_macro/rust/bridge.rs delete mode 100644 libgrust/libproc_macro/rust/bridge/ident.rs delete mode 100644 libgrust/libproc_macro/rust/bridge/literal.rs delete mode 100644 libgrust/libproc_macro/rust/bridge/punct.rs delete mode 100644 libgrust/libproc_macro/rust/bridge/span.rs rename libgrust/libproc_macro/{rust => }/span.rs (59%) rename libgrust/libproc_macro/{rust => }/token_stream.rs (58%) rename libgrust/{libproc_macro => libproc_macro_internal}/Makefile.am (70%) copy {libvtv/testsuite => libgrust/libproc_macro_internal}/Makefile.in (70%) rename libgrust/{libproc_macro/proc_macro.h => libproc_macro_internal/bridge.h} (88%) copy libgrust/{libproc_macro/tokentree.cc => libproc_macro_internal/ffistring.cc} (52%) copy libgrust/{libproc_macro/punct.h => libproc_macro_internal/ffistring.h} (65%) copy libgrust/{libproc_macro => libproc_macro_internal}/group.cc (88%) copy libgrust/{libproc_macro => libproc_macro_internal}/group.h (83%) rename libgrust/{libproc_macro => libproc_macro_internal}/ident.cc (64%) rename libgrust/{libproc_macro => libproc_macro_internal}/ident.h (76%) create mode 100644 libgrust/libproc_macro_internal/literal.cc create mode 100644 libgrust/libproc_macro_internal/literal.h rename libgrust/{libproc_macro => libproc_macro_internal}/proc_macro.cc (50%) create mode 100644 libgrust/libproc_macro_internal/proc_macro.h rename libgrust/{libproc_macro => libproc_macro_internal}/punct.cc (88%) copy libgrust/{libproc_macro => libproc_macro_internal}/punct.h (86%) rename libgrust/{libproc_macro/group.h => libproc_macro_internal/registration.h} (65%) rename libgrust/{libproc_macro/group.cc => libproc_macro_internal/span.cc} (80%) rename libgrust/{libproc_macro/punct.h => libproc_macro_internal/span.h} (80%) rename libgrust/{libproc_macro => libproc_macro_internal}/tokenstream.cc (70%) rename libgrust/{libproc_macro => libproc_macro_internal}/tokenstream.h (76%) rename libgrust/{libproc_macro => libproc_macro_internal}/tokentree.cc (88%) rename libgrust/{libproc_macro => libproc_macro_internal}/tokentree.h (78%)