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 8a7256676e5 Change singleton returned type to a reference new 7680f97ee86 libformat_parser: Lower minimum Rust version to 1.49 new add0e45fc9e Remove unused Context parameter for some backend methods new 9e45b86996e Handle structs as scrutinee for match expressions new 154ce770c68 Add testcases for handling struct as scrutinee for match expr new 1c52754ee19 Improve matching on non-enum ADTs new c7687ef1f7a Visit constant items without expressions properly new 6dff797adfa Change lookup_node_to_hir return type to optional new 402d329819b Change lookup_hir_to_node return type to optional new 73f87d81c0e Change return type of resolve_nodeid_to_stmt new 69e1835807d Change return type for lookup_hir_item to optional new dcd38375635 Change return type of lookup_hir_trait_item new 6dbaa5dbfba Change return type of lookup_hir_extern_block new 9af30ca752f Change return type for lookup_hir_impl_block new 1be4fa36f08 Change return type of lookup_impl_block_type new 5f1b593393c Change return type of lookup_crate_name new dc06ff16b4b Change crate_num_to_nodeid return type new ade76488cb1 Change crate name retrieval function return types new d1f2064d643 Change return type of lookup_defid new a83bc198e19 Change lookup_local_defid return type to optional new 310081b7d62 Change return type of lookup trait defid functions. new fa24d0d08eb Change lookup_hir_extern_item return type new 395aab37873 Change lookup_module function return type new 6f0e06c04f9 Change return type to optional in get_lang_item new 1fcb7198e46 Change lookup_hir_implitem return type new 478c227c864 Change lookup_hir_expr return type to optional new d1dad032ded Change lookup_hir_path_expr_seg return type new 1e6a3ee55ed Change lookup_hir_generic_param return type new 1746979fc55 Change lookup_hir_type return type with an optional new 0e7cff81b25 Change lookup_hir_smt's return type with optional new b4927ee8b13 Change lookup_hir_param return type with optional new 1d8efec4f7b Change lookup_hir_self_param return type new e956f3a7bbf Change lookup_hir_struct_field return type new 36518ef25d5 Change lookup_hir_pattern return type new 291068b42e9 Change lookup_canonical_path's return path new c3493829b74 Change lookup_macro_def return type new 435f227c250 Change lookup_macro_invocation's return type new f13cb854c04 Change lookup_visibility's return type new 06bc336010c Change lookup_ast_item's return type new 9ff8ac92753 Remove useless cstddef header from rust-fmt new 80e0560b542 Add call and method call default visitors new 219cea78815 Add system include to `gcc/rust/rust-system.h` new 84666c6eecc Make gccrs recognize negative_impls new 9ade15d37ee Corrected access specifiers new 646046091b7 Allow rustc_const_stable and rustc_const_unstable new 75049a3bfee Improve handling of ConstantItem during name resolution 2.0 new 32ccdf41a08 Parse box expressions new ca178958c4b Add feature gate for box syntax new 36a21ef17c0 Add new test for box syntax new 50862befdb2 Fix generic parameter parsing new 2a1e169956f Allow multiple outer attributes on generic params new 85967c87814 Add dropck_eyepatch feature gate for may_dangle new 14c4c2f142d Add two new tests related to may_dangle attribute new a45362e582e rust: Do not link with libdl and libpthread unconditionally new 8de769bfc57 Add outer attributes to struct expr fields new 53a857ac945 Add a new regression test over struct expr field new a8e63c472f8 Parse raw ref operator new ef8821745ee Prevent raw reference from being lowered silently new bd97356fbbb Add raw_ref_op feature gate new 6fc8ad5340a Add some test for raw_ref_op to prevent regressions new a178a07e432 Parse exclusive range pattern new 956542656fe Add exclusive_range_pattern feature gate new f88aa88faf4 Add regression tests for exclusive range pattern new 3f23987dab0 Almost done with top level parsing new 424224a0a4f Working on parseAsmArg new 68d60cf5388 Introduce first implementation of parse_clobber_abi new edd623c58ee Working on parse_options for a bit more new b923da77f09 Fix clobber_api brackets new 666e43bde81 First draft of parse_option finished new c3bdf2dda85 Introduced is_global_asm to InlineAsm AST new 3c93736b8b8 Make InlineAsm non-abstract for usage in parsing. new 1e784746825 Replace scaffolded InlineAsm with real InlineAsm. new af74733fa97 Add a simple no-op test for asm! new 2822845b16c Top level parsing test for asm! new a4fe2a1016a Add tests parsing with trailing commas inline asm new de7dbe64f85 Added faulty tests for inline asm cloberring new 4ca3eaaad71 Implemented parse_clobber_abi to pass new tests new 0044275c34c Parsing of options(...) done. new ed17ab77c33 Wraps inline_asm tests in unsafe {} new a4cbd38f06c Add checks for duplicate options in inline asm new 24fa822edf4 Resolve static decl warning new 387917381a4 Scaffolding parse_reg new 93e27fa1b2e Rename InlineAsmOptions to InlineAsmOption new 69265253d17 Safegaurd InlineAsm's clone_expr_... new 56c687a5f64 Remove global_asm and non_global_asm handler new 0eafcc27996 Big Refactor after meeting new 4b1fa28ff56 Renamed parseAsmArg to conform to other function names new a5c3c7615fb Working towards parse_reg and parse_reg_operand new bfcebbf7e1d Got AST::Fragment to be created from InlineAsm new e63fba72a65 Refactoring for inline asm pr new dd03ef700b7 Slim down the test cases new 520d279b5d6 Add support for AST to HIR inline asm translation new 914777653e9 Partial unsafe support for inline asm new 379670e7f68 Fix warnings new 5075dee97b0 Scaffolding ast visitor for InlineAsm new ba440238991 Scaffolding HIRFullVisitor for inline asm new d24c338399f Successful parse of in and inout, albeit with str new 4ec940e39ca Add potentially_nonpromoted_keywords set str new 4eb63c929f8 Fix visitor-related warnings new 57c1f3a0f0d Refactoring and supporting more parse_reg_operand new 9d812b8af76 Partial support for operand new 07a48d90e0f Scaffolding validation of asm! new 9202993a573 Update parser to parse strings in the first stage new da324bc6ee0 Move parser and last_token_id to InlineAsmCtx new 1d3031a9c83 Expected first layer done new 7fa14d4f64a Partial second layer of expected in parsing asm new 89c056bf373 Fix optional trait parsing new fb906a41a4e expand: Keep track of semicoloned builtin macros new 7d22e900b06 expand: Switch semicolon boolean to an enum instead. new 2ce6c08f21a Add test case for using asm! outside of unsafe {} new 40d52922469 Added ExprType::InlineAsm new 9e5a4b410d0 Add RAW_STRING_LITERAL new 79a2eaa6935 Finish incorporating expected of parse_reg_operand new c37eb03de6b Finish expected parse_reg_operand new 74b6c7e4f95 Scaffold expected on parse_options and asm_arg new 76ba4a65809 Added tl::expected to parse_operand new 12cc79fe8fe Added a test that is expected to fail new 6749034ca96 Add WARN_UNUSED_RESULT parse error new 69e06b2b6e4 Addresses warning, put warn unused in right place new 7fd14aafa34 Clean up monadic operations on expected<> new b657fa0c78b Store parse result of parse_format_string(s) new 61bf4447970 Safe-guard InlineAsm structs new fde617aedea Pin node16 by allowing old version new d6740583184 [#3051] Remove unnecessary #include from rust-expr.h new e2b6a02937c rust: fix HIR dump for MatchExpr new 48c94c4927c Added FFIVector to get Polonius output on C++ side new ff59d152730 Fix nightly rustc warnings new c1ba8985c65 Introduce new class to handle borrow errors new 5f001bab74a Improve error messages for operator expressions new 0c2b03650fa Update pattern with \r* for dg-output tests new 043ce276e5e Fix CI bootstrap build with a nightly rust compiler new bfee9e02cdc [#3046] ICE on failing to find enum variant new 440b82882b0 Change assertion of constructor new a79d297dccf Added options for ParseMode new 0d0530b65fc Fix ffi and enum conventions new 665d3014ce8 [#2987] Patch ICE when deriving Clone and Copy new 34a0835087d Change bug report issue template new 8c357fd0072 gccrs: [E0576] Associated `item` not found in given `type` new 1eb42b0e344 Properly striping struct fields when using attrs new 47c947cfd91 gccrs: Add rustc test directory for testsuite adaptor new a218b0335d1 [#3045] #[may_dangle] in safe impl new c83b22a6932 Move procedural macro test to their own directory new 9de294a6848 ffi-polonius: Remove usage of extern types. new 5d215e07483 github: Remove nightly Rust installation new 3854f5e4bc1 Move builtin macro tests to their own directory new d55bbc2e8fa Move mbe macro tests to their own directory new 3b5801409dc Fixed bitwise operation in `extract_stmt` new 96a8914ba02 Fix the parser's operand and flags storage new a395a810952 Use new constructors and control flow for operand new d6a7e715706 Improve compressed point bit manipulation new 78a1f763a9b Set up the hir lowering for operand new e941015a2a7 Turn to switch case, use new helper functions new f2c807127b5 Add location support to BIR::Statement new bcd860f7f54 Add location to BIR::Loan new 812c5347bc0 Implement resolve expr for inline asm ast new 155f6a9c808 Add location to BIR::Statement of kind RETURN new 65bf72fcfb9 Loan errors with locations new 177660eabde Simplify construction of BIR::Statement new 47c16d7c81b rust: avoid clobbering LIBS new d2f032feb04 Eager expansion for include* #1805 #1865 new bccb35bca09 borrowck: Fix debug prints on 32-bits architectures new 6a05b0ada8a borrowck: Avoid overloading issues on 32bit architectures new be1e78ba333 [#2324] Add error message for E0532 new 44664e38759 Fixed testcase new ddda47c4fe5 Map locations to placeholder regions new c6d0824f099 Subset errors with locations new e61d37aae9a Move errors with locations new 0f2062b77a7 Attempted to access a nonexistent field [E0609] new fd916bed72b ast: PathPattern: Remove `remove_all_segments` method new 530b6121cf5 ast: Remove PathExpr abstract class new d44051dea30 ast: Introduce class hierarchy for lang item paths new 51948d296cd Fix the disorder struct and class in inline asm new 06e8b826d77 attributes: Start handling prelude_import properly new 084789ed26b feature-gate: Cleanup visitor and constructor new af7e8fda83d rust: Add checking for union patterns new 5da381ffd11 gccrs: Add typecheck for path patterns. new 25016444638 gccrs: emit error code for E0758 new 369b51527a1 Add running cicd 32bit new c2770bdd22d Add glibcxx_assertion check new 5b5aadb643c Add pop guard for binder new 716dadc8000 Fix the parser's operand and flags storage new b088273a2ca Scaffolding asm codegen new c3e69be4e6b Make sure CompileExpr::visit is reached new 163bd136710 Local testing for build_string and debug() new f9374ddf478 Setting up interfaces for codegen new 177ce2688f3 Scaffolding new compile-asm files new 20cd09b19e0 Scaffolding code new f627811f55b Successfully produce pseudo-nop new 63bccfc7f19 Refactor compile-asm for first round review new d645c559125 Minor fix to asm codegen pr new 95674a0a358 Added new test for prep of output {} new f0df5580693 Added counting to check for asm_construct_outputs new 8d157b63670 Start work on expand inline asm new 596bf6946d8 Move strip double quotes, add scaffold expand new c00fd2aeaae Lower the HIR to tree with CompileExpr new 43d38bbb188 Perform type check on InlineAsm's operand new 20db1716d98 Perform lowering hir output operand to tree new bc341ac3bd2 Added noreturn checking for nevertype, new test new 9597d3c088a Use's array type when constring string tree new c324dcf459d Make inline mov compiles new 73a1510814b Fix return type of asm mov 5 to i32:0, tortured new 3aca66b673c Rehaul, Apply code review from Arthur new e4953b4d1d8 Provide new asm test case for amd64 new 8ab5dd8e658 Bump action version to avoid missing distutils new 12af831615a Fix v0-mangle1.rs test when run with ASAN new 84f772c15bc Add virtual destructor to AbstractExpr new 14528a8cf09 Avoid accidental insertion into map new 5819537947c Strong type PlaceId new d479eb583ef Strong type FreeRegion new 5b8299d7694 Use FreeRegions inplace of `std::vector<FreeRegion>` new b3dd18c0ef3 Strong type LoanId new ffeb37619e1 Strong type ScopeId new 4050bf70e24 Strong type BasicBlockId new fe780d77dbd Introduce `IndexVec` new a912ffbf32a Used `IndexVec` for Scopes new 5f42a91bd2b Used `IndexVec` for Loans new 1fcfec23a45 Used `IndexVec` for BasicBlocks new 170223717e8 Used `IndexVec` for Places new 4a6cccfbf18 Use `IndexVec` for bb_fold_map new 65b00cc654c Used `IndexVec` for place_map new c5f9d6ddf93 Dynamic dispatch with supertraits new 7e0feecb56e Compile using ASAN on the github CI new 9941d6f3dd4 gccrs: Implement initial pattern analysis pass. new f2e03227e06 Emit error on auto-traits new f8e46bb8a81 session-manager: Fix typos in -frust-incomplete message new ba7b5a42302 [#3141] Fix incorrect handling of overflow in numeric types new b0c8579ee6d [#3141] Remove double negation by returning CompileExpr::Co [...] new 483ee3ae4b8 Create new test system for name resolution 2.0 new ebbc1724426 github: adjust footer detection for Tested-by new 67bc0f69b46 Change upload artifact github action version new 522576d07f0 Check if the type has been correctly resolved new d65c6c9edb6 Adjust expected warnings for alpine 32 bit new 5d703a35cae Fix ICE on error propagation with generic new 39eb3a44122 rust: negative polarity removes restrictions on validation [...] new 263b1c85419 gccrs: adjust hir dump of BlockExpr new b282387d5a6 mingw: Fix build with patch from Liu Hao new 1a9f70b2ab7 Add extra assertions to tl::optional new 71affd20219 Remove some overloaded methods from DefaultResolver. new 09cfe530f9c rust: fix ICE when compiling impl block for ! new 438470e8e32 rust fix ICE when hir lowering qualified path expressions w [...] new 5e8da717fe1 nr2.0: default-visitor: Conditionally visit type in self pa [...] new dcc146b341a toplevel: Add note for resolving use declarations new 0377c9ae219 toplevel: Build list of imports for Early to resolve new 8f835f8cec9 early: Resolve imports and create import mappings new a4b593400d6 imports: Add FinalizeImports class new d86cee59551 imports: Create ImportData class and use it in import_mappings new 6a47e726ea5 imports: Start storing Ribs in ImportKind new bd669c43f25 imports: Make FinalizeImports a resolver visitor as well new c67b14ccc5b early: Do not emit errors for unresolved imports, store the [...] new 9f6c1790991 Insert imports in all namespaces they were resolved in new f899498e032 nr2.0: Cleanup import mappings and factor into a class. new 76131dd1d56 Fix missing error on duplicated nodes new ab8a0b5cc06 Loop on expansion if a new export has been defined new 9a8545f6e19 Mark virtual function override in default resolver new a01ac121a33 Remove empty visit functions new 468d24b5d91 Remove regular visit code new 384de9b928a Change lambda content with default visitor call new fef6b34334f Add default resolver parent functions by default new deb94244cb1 Make AST default visitor visit functions public new 49f0300a40f Move failing test to xfail new a4f64b9c643 Move bir builder function implementation new c8fbbd472c0 Do not assert insertion result new feba3ba1b55 Update exclude list with working tests new 5257adfe812 Change resolved type segment new d87b067b2d2 Make node id getter const. new e4394ac6ffc This test requires the standard library new 90a8ae7cca0 Add box definition to avoid error new 0f614e06ccb Resolve TypeParam with name resolution 2.0 new b408e04a5ef Postpone break on error after name resolution new 423122c2f08 Remove some passing test from nr2 passing list new c6a479fb931 rust: Add support for Clone and Copy derive on generic types new 18422c9c386 rust: fix ICE during name resolution for impls on unit-types new b60ec4fe0b0 gccrs: add test case to show impl block on ! works new 409beeb8b69 Change alpine allowed warning list new ad1c8b1d45e gccrs: Add test case to show ICE is fixed new af0f0e3f538 gccrs: Fix ICE when typechecking non-trait item when we expect one new 14994668b56 Improve Rib::Definition shadowing new bad1ebacd13 Fix some issues with canonical path fetching in name resolu [...] new 1a030d34cd7 Check for writes outside of the build directory new 3bff5cf047e Handle TypeAlias during toplevel resolution 2.0 new 583eb22ce18 Rework InlineAsmOperand new 71d2084edcc Insert static items into the value namespace new ab15db39080 Improve handling of InlineAsm in DefaultASTVisitor new eb863f60b61 Allow identifiers and paths to reference types during nr2.0 new 0b18baee059 Use name resolver 2.0 during pattern typechecking new 2d95e156b4f Provide input operand for gccrs new 6708d35b955 Fix compiler error on ast wrong implicit construct push_back new a9931e9c4f4 Disambiguate generic args during name resolution 2.0 new 2b74b5cb755 Handle const generic parameters during resolution 2.0
The 288 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/ISSUE_TEMPLATE/bug_report.md | 25 - .github/ISSUE_TEMPLATE/bug_report.yml | 64 + .github/alpine_32bit_log_warnings | 97 ++ ...ngs => glibcxx_ubuntu64b_log_expected_warnings} | 22 - .github/no-bootstrap-asan.mk | 7 + .github/workflows/bootstrap.yml | 3 +- .github/workflows/ccpp.yml | 187 +++ .github/workflows/ccpp32alpine.yml | 129 ++ .github/workflows/clang-format.yml | 2 +- .github/workflows/commit-format.yml | 6 +- Makefile.in | 3 + Makefile.tpl | 3 + configure | 155 ++ configure.ac | 42 + gcc/rust/Make-lang.in | 19 +- gcc/rust/ast/rust-ast-builder-type.cc | 164 +++ gcc/rust/ast/rust-ast-builder-type.h | 57 + gcc/rust/ast/rust-ast-builder.cc | 206 ++- gcc/rust/ast/rust-ast-builder.h | 17 + gcc/rust/ast/rust-ast-collector.cc | 62 +- gcc/rust/ast/rust-ast-collector.h | 5 +- gcc/rust/ast/rust-ast-fragment.h | 15 +- gcc/rust/ast/rust-ast-full-decls.h | 6 +- gcc/rust/ast/rust-ast-visitor.cc | 67 +- gcc/rust/ast/rust-ast-visitor.h | 11 +- gcc/rust/ast/rust-ast.cc | 58 +- gcc/rust/ast/rust-ast.h | 42 +- gcc/rust/ast/rust-expr.h | 553 ++++++- gcc/rust/ast/rust-fmt.cc | 6 +- gcc/rust/ast/rust-fmt.h | 12 +- gcc/rust/ast/rust-item.h | 16 +- gcc/rust/ast/rust-macro.h | 2 +- gcc/rust/ast/rust-path.cc | 28 +- gcc/rust/ast/rust-path.h | 284 +++- gcc/rust/ast/rust-pattern.cc | 31 +- gcc/rust/ast/rust-pattern.h | 34 +- gcc/rust/ast/rust-type.h | 10 + gcc/rust/backend/rust-compile-asm.cc | 146 ++ gcc/rust/backend/rust-compile-asm.h | 63 + gcc/rust/backend/rust-compile-base.cc | 27 +- gcc/rust/backend/rust-compile-base.h | 6 +- gcc/rust/backend/rust-compile-block.cc | 2 +- gcc/rust/backend/rust-compile-block.h | 2 + gcc/rust/backend/rust-compile-expr.cc | 168 ++- gcc/rust/backend/rust-compile-expr.h | 1 + gcc/rust/backend/rust-compile-extern.h | 6 +- gcc/rust/backend/rust-compile-implitem.cc | 16 +- gcc/rust/backend/rust-compile-item.cc | 48 +- gcc/rust/backend/rust-compile-pattern.cc | 13 +- gcc/rust/backend/rust-compile-resolve-path.cc | 43 +- gcc/rust/backend/rust-compile-type.cc | 16 +- gcc/rust/backend/rust-compile-type.h | 4 +- gcc/rust/backend/rust-compile.cc | 128 +- gcc/rust/backend/rust-mangle-v0.cc | 60 +- .../checks/errors/borrowck/ffi-polonius/Cargo.lock | 39 + .../errors/borrowck/ffi-polonius/src/gccrs_ffi.rs | 10 + .../ffi-polonius/src/gccrs_ffi_generated.rs | 6 +- .../checks/errors/borrowck/ffi-polonius/src/lib.rs | 91 +- .../errors/borrowck/polonius/rust-polonius-ffi.h | 71 +- .../errors/borrowck/polonius/rust-polonius.cc} | 54 +- .../errors/borrowck/polonius/rust-polonius.h | 45 +- .../errors/borrowck/rust-bir-builder-expr-stmt.cc | 157 +- .../errors/borrowck/rust-bir-builder-expr-stmt.h | 1 + .../errors/borrowck/rust-bir-builder-internal.h | 125 +- .../borrowck/rust-bir-builder-lazyboolexpr.h | 79 +- .../errors/borrowck/rust-bir-builder-pattern.cc | 273 ++++ .../errors/borrowck/rust-bir-builder-pattern.h | 259 +--- .../errors/borrowck/rust-bir-builder-struct.h | 1 + gcc/rust/checks/errors/borrowck/rust-bir-builder.h | 40 +- gcc/rust/checks/errors/borrowck/rust-bir-dump.cc | 75 +- gcc/rust/checks/errors/borrowck/rust-bir-dump.h | 4 +- .../errors/borrowck/rust-bir-fact-collector.h | 167 ++- .../checks/errors/borrowck/rust-bir-free-region.h | 38 +- gcc/rust/checks/errors/borrowck/rust-bir-place.h | 152 +- gcc/rust/checks/errors/borrowck/rust-bir.h | 81 +- .../borrowck/rust-borrow-checker-diagnostics.cc | 170 +++ .../borrowck/rust-borrow-checker-diagnostics.h | 84 ++ .../checks/errors/borrowck/rust-borrow-checker.cc | 60 +- .../errors/borrowck/rust-function-collector.h | 1 + .../checks/errors/privacy/rust-privacy-reporter.cc | 22 +- .../checks/errors/privacy/rust-privacy-reporter.h | 1 + .../errors/privacy/rust-pub-restricted-visitor.cc | 6 +- .../errors/privacy/rust-visibility-resolver.cc | 21 +- gcc/rust/checks/errors/rust-const-checker.cc | 35 +- gcc/rust/checks/errors/rust-const-checker.h | 2 + gcc/rust/checks/errors/rust-feature-gate.cc | 98 +- gcc/rust/checks/errors/rust-feature-gate.h | 157 +- gcc/rust/checks/errors/rust-feature.cc | 48 +- gcc/rust/checks/errors/rust-feature.h | 21 +- .../checks/errors/rust-hir-pattern-analysis.cc | 1554 ++++++++++++++++++++ ...const-checker.h => rust-hir-pattern-analysis.h} | 416 +++++- gcc/rust/checks/errors/rust-unsafe-checker.cc | 114 +- gcc/rust/checks/errors/rust-unsafe-checker.h | 1 + gcc/rust/checks/lints/rust-lint-marklive.cc | 70 +- gcc/rust/expand/rust-cfg-strip.cc | 26 + gcc/rust/expand/rust-cfg-strip.h | 2 + gcc/rust/expand/rust-derive-clone.cc | 88 +- gcc/rust/expand/rust-derive-clone.h | 5 +- gcc/rust/expand/rust-derive-copy.cc | 87 +- gcc/rust/expand/rust-derive-copy.h | 4 +- gcc/rust/expand/rust-derive.h | 4 + gcc/rust/expand/rust-expand-visitor.cc | 22 +- gcc/rust/expand/rust-expand-visitor.h | 2 +- gcc/rust/expand/rust-macro-builtins-asm.cc | 940 +++++++++++- gcc/rust/expand/rust-macro-builtins-asm.h | 175 +++ gcc/rust/expand/rust-macro-builtins-format-args.cc | 8 +- gcc/rust/expand/rust-macro-builtins-helpers.cc | 7 +- gcc/rust/expand/rust-macro-builtins-helpers.h | 3 +- gcc/rust/expand/rust-macro-builtins-include.cc | 71 +- gcc/rust/expand/rust-macro-builtins-location.cc | 10 +- gcc/rust/expand/rust-macro-builtins-log-debug.cc | 4 +- gcc/rust/expand/rust-macro-builtins-utility.cc | 15 +- gcc/rust/expand/rust-macro-builtins.cc | 28 +- gcc/rust/expand/rust-macro-builtins.h | 56 +- gcc/rust/expand/rust-macro-expand.cc | 55 +- gcc/rust/expand/rust-macro-expand.h | 7 +- gcc/rust/expand/rust-proc-macro.cc | 36 +- gcc/rust/hir/rust-ast-lower-base.cc | 19 + gcc/rust/hir/rust-ast-lower-base.h | 4 + gcc/rust/hir/rust-ast-lower-expr.cc | 157 +- gcc/rust/hir/rust-ast-lower-expr.h | 2 + gcc/rust/hir/rust-ast-lower-item.cc | 9 +- gcc/rust/hir/rust-ast-lower-pattern.cc | 3 + gcc/rust/hir/rust-ast-lower-type.cc | 25 +- gcc/rust/hir/rust-hir-dump.cc | 53 +- gcc/rust/hir/rust-hir-dump.h | 3 + gcc/rust/hir/tree/rust-hir-expr.h | 338 ++++- gcc/rust/hir/tree/rust-hir-full-decls.h | 3 +- gcc/rust/hir/tree/rust-hir-item.h | 26 +- gcc/rust/hir/tree/rust-hir-visitor.h | 4 + gcc/rust/hir/tree/rust-hir.cc | 92 +- gcc/rust/hir/tree/rust-hir.h | 29 +- gcc/rust/lex/rust-lex.cc | 11 +- gcc/rust/lex/rust-lex.h | 9 +- gcc/rust/lex/rust-token.cc | 3 + gcc/rust/lex/rust-token.h | 8 + gcc/rust/metadata/rust-export-metadata.cc | 15 +- gcc/rust/parse/rust-parse-impl.h | 140 +- gcc/rust/parse/rust-parse.cc | 2 +- gcc/rust/parse/rust-parse.h | 3 + gcc/rust/resolve/rust-ast-resolve-base.cc | 17 + gcc/rust/resolve/rust-ast-resolve-base.h | 4 + gcc/rust/resolve/rust-ast-resolve-expr.cc | 74 +- gcc/rust/resolve/rust-ast-resolve-expr.h | 4 + gcc/rust/resolve/rust-ast-resolve-pattern.cc | 3 +- gcc/rust/resolve/rust-ast-resolve-toplevel.h | 18 +- gcc/rust/resolve/rust-ast-resolve-type.cc | 20 +- gcc/rust/resolve/rust-ast-resolve-type.h | 4 + gcc/rust/resolve/rust-ast-resolve.cc | 7 +- gcc/rust/resolve/rust-default-resolver.cc | 527 +------ gcc/rust/resolve/rust-default-resolver.h | 122 +- gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 156 +- gcc/rust/resolve/rust-early-name-resolver-2.0.h | 148 ++ gcc/rust/resolve/rust-early-name-resolver.cc | 20 +- gcc/rust/resolve/rust-finalize-imports-2.0.cc | 224 +++ gcc/rust/resolve/rust-finalize-imports-2.0.h | 110 ++ gcc/rust/resolve/rust-forever-stack.h | 16 + gcc/rust/resolve/rust-forever-stack.hxx | 24 +- gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 92 +- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 3 + gcc/rust/resolve/rust-name-resolution-context.cc | 20 +- gcc/rust/resolve/rust-name-resolution-context.h | 6 +- gcc/rust/resolve/rust-name-resolver.cc | 9 +- gcc/rust/resolve/rust-name-resolver.h | 7 +- gcc/rust/resolve/rust-rib.cc | 107 +- gcc/rust/resolve/rust-rib.h | 32 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 360 +---- gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 133 +- gcc/rust/rust-session-manager.cc | 36 +- gcc/rust/rust-system.h | 1 + gcc/rust/typecheck/rust-autoderef.cc | 5 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 19 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 3 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 88 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 157 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 1 + gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 26 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 124 +- gcc/rust/typecheck/rust-hir-type-check-item.h | 3 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 7 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 205 ++- gcc/rust/typecheck/rust-hir-type-check-type.cc | 50 +- gcc/rust/typecheck/rust-hir-type-check.cc | 6 +- gcc/rust/typecheck/rust-hir-type-check.h | 5 +- gcc/rust/typecheck/rust-type-util.cc | 45 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 18 +- .../rust-tyty-variance-analysis-private.h | 11 +- gcc/rust/typecheck/rust-tyty-variance-analysis.cc | 8 +- gcc/rust/typecheck/rust-tyty-variance-analysis.h | 7 +- gcc/rust/typecheck/rust-tyty.cc | 20 +- gcc/rust/util/optional.h | 86 +- gcc/rust/util/rust-attribute-values.h | 4 + gcc/rust/util/rust-attributes.cc | 6 +- gcc/rust/util/rust-canonical-path.h | 4 +- gcc/rust/util/rust-hir-map.cc | 260 ++-- gcc/rust/util/rust-hir-map.h | 100 +- gcc/testsuite/rust/borrowck/reference.rs | 96 +- gcc/testsuite/rust/borrowck/return_ref_to_local.rs | 15 +- gcc/testsuite/rust/borrowck/subset.rs | 29 +- gcc/testsuite/rust/borrowck/test_move.rs | 26 +- .../rust/borrowck/test_move_conditional.rs | 45 +- gcc/testsuite/rust/borrowck/tmp.rs | 95 +- gcc/testsuite/rust/borrowck/use_while_mut.rs | 21 +- gcc/testsuite/rust/borrowck/use_while_mut_fr.rs | 19 +- .../rust/borrowck/well_formed_function_inputs.rs | 21 +- gcc/testsuite/rust/compile/assume.rs | 2 + gcc/testsuite/rust/compile/auto_trait.rs | 1 + .../rust/compile/auto_trait_super_trait.rs | 1 + gcc/testsuite/rust/compile/box_syntax.rs | 6 + .../rust/compile/box_syntax_feature_gate.rs | 7 + .../rust/compile/builtin_macro_include_bytes.rs | 15 - .../rust/compile/builtin_macro_include_str.rs | 16 - .../rust/compile/dropck_eyepatch_feature_gate.rs | 8 + .../rust/compile/exclusive_range_pattern.rs | 17 + .../exclusive_range_pattern_feature_gate.rs | 8 + gcc/testsuite/rust/compile/exhaustiveness1.rs | 53 + gcc/testsuite/rust/compile/exhaustiveness2.rs | 28 + gcc/testsuite/rust/compile/exhaustiveness3.rs | 55 + .../rust/compile/functions_without_body.rs | 1 + gcc/testsuite/rust/compile/generic_auto_trait.rs | 1 + .../rust/compile/inline_asm_compile_nop.rs | 12 + .../rust/compile/inline_asm_faulty_clobber.rs | 14 + .../rust/compile/inline_asm_ident_first.rs | 12 + .../rust/compile/inline_asm_illegal_operands.rs | 24 + .../rust/compile/inline_asm_illegal_options.rs | 16 + .../rust/compile/inline_asm_legal_options.rs | 12 + gcc/testsuite/rust/compile/inline_asm_nop.rs | 13 + .../rust/compile/inline_asm_outside_unsafe.rs | 11 + .../rust/compile/inline_asm_parse_operand.rs | 39 + .../compile/inline_asm_parse_output_operand.rs | 18 + gcc/testsuite/rust/compile/inline_asm_typecheck.rs | 20 + gcc/testsuite/rust/compile/issue-1901.rs | 2 + gcc/testsuite/rust/compile/issue-1981.rs | 2 + gcc/testsuite/rust/compile/issue-2203.rs | 3 + gcc/testsuite/rust/compile/issue-2324-1.rs | 19 + gcc/testsuite/rust/compile/issue-2324-2.rs | 19 + gcc/testsuite/rust/compile/issue-2499.rs | 11 + gcc/testsuite/rust/compile/issue-2725.rs | 3 + gcc/testsuite/rust/compile/issue-2906.rs | 10 + gcc/testsuite/rust/compile/issue-2951.rs | 13 + gcc/testsuite/rust/compile/issue-2987.rs | 17 + gcc/testsuite/rust/compile/issue-3030.rs | 16 + gcc/testsuite/rust/compile/issue-3035.rs | 25 + gcc/testsuite/rust/compile/issue-3036.rs | 14 + gcc/testsuite/rust/compile/issue-3045-1.rs | 21 + gcc/testsuite/rust/compile/issue-3045-2.rs | 20 + gcc/testsuite/rust/compile/issue-3046.rs | 23 + gcc/testsuite/rust/compile/issue-3082.rs | 9 + gcc/testsuite/rust/compile/issue-3139-1.rs | 45 + gcc/testsuite/rust/compile/issue-3139-2.rs | 57 + gcc/testsuite/rust/compile/issue-3139-3.rs | 32 + gcc/testsuite/rust/compile/issue-3141.rs | 62 + .../builtin/builtin_macro.exp} | 0 .../builtin/compile_error.rs} | 0 .../builtin/concat.rs} | 0 .../builtin/eager1.rs} | 0 .../builtin/eager2.rs} | 0 .../builtin/eager3.rs} | 0 .../builtin/env.rs} | 0 .../builtin/include1.rs} | 8 +- .../builtin/include2.rs} | 7 +- .../rust/compile/macros/builtin/include3.rs | 19 + .../rust/compile/macros/builtin/include4.rs | 15 + .../rust/compile/macros/builtin/include_bytes.rs | 23 + .../builtin/include_bytes_location_info.rs} | 0 .../rust/compile/macros/builtin/include_rs | 1 + .../rust/compile/macros/builtin/include_rs2 | 1 + .../rust/compile/macros/builtin/include_str.rs | 24 + .../builtin/include_str_location_info.rs} | 0 .../rust/compile/{ => macros/builtin}/invalid_utf8 | 0 .../builtin/not_found.rs} | 0 .../builtin/recurse2.rs} | 0 .../rust/compile/{ => macros/mbe}/macro-delim.rs | 0 .../compile/{ => macros/mbe}/macro-issue1053-2.rs | 0 .../compile/{ => macros/mbe}/macro-issue1053.rs | 0 .../compile/{ => macros/mbe}/macro-issue1224.rs | 0 .../compile/{ => macros/mbe}/macro-issue1233.rs | 0 .../compile/{ => macros/mbe}/macro-issue1395-2.rs | 0 .../compile/{ => macros/mbe}/macro-issue1395.rs | 0 .../compile/{ => macros/mbe}/macro-issue1400-2.rs | 0 .../compile/{ => macros/mbe}/macro-issue1400.rs | 0 .../compile/{ => macros/mbe}/macro-issue2092.rs | 0 .../compile/{ => macros/mbe}/macro-issue2192.rs | 0 .../compile/{ => macros/mbe}/macro-issue2194.rs | 0 .../compile/{ => macros/mbe}/macro-issue2229.rs | 0 .../compile/{ => macros/mbe}/macro-issue2264.rs | 0 .../compile/{ => macros/mbe}/macro-issue2268.rs | 0 .../compile/{ => macros/mbe}/macro-issue2273.rs | 0 .../compile/{ => macros/mbe}/macro-issue2653.rs | 0 .../compile/macros/mbe/macro-issue2983_2984.rs | 27 + .../rust/compile/{ => macros/mbe}/macro1.rs | 0 .../rust/compile/{ => macros/mbe}/macro10.rs | 0 .../rust/compile/{ => macros/mbe}/macro11.rs | 0 .../rust/compile/{ => macros/mbe}/macro12.rs | 0 .../rust/compile/{ => macros/mbe}/macro13.rs | 0 .../rust/compile/{ => macros/mbe}/macro14.rs | 0 .../rust/compile/{ => macros/mbe}/macro15.rs | 0 .../rust/compile/{ => macros/mbe}/macro16.rs | 0 .../rust/compile/{ => macros/mbe}/macro17.rs | 0 .../rust/compile/{ => macros/mbe}/macro18.rs | 0 .../rust/compile/{ => macros/mbe}/macro19.rs | 0 .../rust/compile/{ => macros/mbe}/macro2.rs | 0 .../rust/compile/{ => macros/mbe}/macro20.rs | 0 .../rust/compile/{ => macros/mbe}/macro21.rs | 0 .../rust/compile/{ => macros/mbe}/macro22.rs | 0 .../rust/compile/{ => macros/mbe}/macro23.rs | 0 .../rust/compile/{ => macros/mbe}/macro25.rs | 0 .../rust/compile/{ => macros/mbe}/macro26.rs | 0 .../rust/compile/{ => macros/mbe}/macro27.rs | 0 .../rust/compile/{ => macros/mbe}/macro28.rs | 0 .../rust/compile/{ => macros/mbe}/macro29.rs | 0 .../rust/compile/{ => macros/mbe}/macro3.rs | 0 .../rust/compile/{ => macros/mbe}/macro30.rs | 0 .../rust/compile/{ => macros/mbe}/macro31.rs | 0 .../rust/compile/{ => macros/mbe}/macro32.rs | 0 .../rust/compile/{ => macros/mbe}/macro33.rs | 0 .../rust/compile/{ => macros/mbe}/macro34.rs | 0 .../rust/compile/{ => macros/mbe}/macro35.rs | 0 .../rust/compile/{ => macros/mbe}/macro36.rs | 0 .../rust/compile/{ => macros/mbe}/macro37.rs | 0 .../rust/compile/{ => macros/mbe}/macro38.rs | 0 .../rust/compile/{ => macros/mbe}/macro39.rs | 0 .../rust/compile/{ => macros/mbe}/macro4.rs | 0 .../rust/compile/{ => macros/mbe}/macro40.rs | 0 .../rust/compile/{ => macros/mbe}/macro41.rs | 0 .../rust/compile/{ => macros/mbe}/macro42.rs | 0 .../rust/compile/{ => macros/mbe}/macro43.rs | 0 .../rust/compile/{ => macros/mbe}/macro44.rs | 0 .../rust/compile/{ => macros/mbe}/macro45.rs | 0 .../rust/compile/{ => macros/mbe}/macro46.rs | 0 .../rust/compile/{ => macros/mbe}/macro47.rs | 0 .../rust/compile/{ => macros/mbe}/macro48.rs | 0 .../rust/compile/{ => macros/mbe}/macro49.rs | 0 .../rust/compile/{ => macros/mbe}/macro5.rs | 0 .../rust/compile/{ => macros/mbe}/macro50.rs | 0 .../rust/compile/{ => macros/mbe}/macro51.rs | 0 .../rust/compile/{ => macros/mbe}/macro52.rs | 0 .../rust/compile/{ => macros/mbe}/macro53.rs | 0 .../rust/compile/{ => macros/mbe}/macro54.rs | 0 .../rust/compile/{ => macros/mbe}/macro55.rs | 0 .../rust/compile/{ => macros/mbe}/macro56.rs | 0 .../rust/compile/{ => macros/mbe}/macro57.rs | 0 .../rust/compile/{ => macros/mbe}/macro6.rs | 0 .../rust/compile/{ => macros/mbe}/macro7.rs | 0 .../rust/compile/{ => macros/mbe}/macro8.rs | 0 .../rust/compile/{ => macros/mbe}/macro9.rs | 0 .../{ => macros/mbe}/macro_call_statement.rs | 0 .../compile/{ => macros/mbe}/macro_export_1.rs | 0 .../rust/compile/{ => macros/mbe}/macro_return.rs | 0 .../{ => macros/mbe}/macro_rules_macro_rules.rs | 0 .../rust/compile/{ => macros/mbe}/macro_use1.rs | 0 .../{compile.exp => macros/mbe/mbe_macro.exp} | 0 .../proc/attribute_crate_type.rs} | 0 .../proc/attribute_non_function.rs} | 0 .../proc/attribute_non_root_function.rs} | 0 .../proc/attribute_non_root_method.rs} | 0 .../proc/attribute_non_root_module.rs} | 0 .../proc/attribute_private.rs} | 0 .../proc/crate_type.rs} | 0 .../proc/derive_crate_type.rs} | 0 .../proc/derive_malformed.rs} | 0 .../proc/derive_non_function.rs} | 0 .../proc/derive_non_root_function.rs} | 0 .../proc/derive_non_root_module.rs} | 0 .../proc/derive_private.rs} | 0 .../proc/non_function.rs} | 0 .../proc/non_root_function.rs} | 0 .../proc/non_root_method.rs} | 0 .../proc/non_root_module.rs} | 0 .../proc/non_root_trait_method.rs} | 0 .../proc/private.rs} | 0 .../{compile.exp => macros/proc/proc_macro.exp} | 0 .../proc/pub_function.rs} | 0 .../proc/pub_module.rs} | 0 gcc/testsuite/rust/compile/match-struct-path.rs | 7 + gcc/testsuite/rust/compile/match8.rs | 19 + gcc/testsuite/rust/compile/match9.rs | 30 + gcc/testsuite/rust/compile/may_dangle.rs | 10 + gcc/testsuite/rust/compile/negative_impls.rs | 8 + gcc/testsuite/rust/compile/negative_impls_2.rs | 16 + gcc/testsuite/rust/compile/nonexistent-field.rs | 14 + gcc/testsuite/rust/compile/not_raw_ref_op.rs | 9 + gcc/testsuite/rust/compile/nr2/compile.exp | 136 ++ gcc/testsuite/rust/compile/nr2/exclude | 241 +++ gcc/testsuite/rust/compile/prelude_import.rs | 12 + gcc/testsuite/rust/compile/raw_ref_op.rs | 11 + .../rust/compile/raw_ref_op_feature_gate.rs | 8 + gcc/testsuite/rust/compile/raw_ref_op_invalid.rs | 12 + gcc/testsuite/rust/compile/rustc_const_stable.rs | 4 +- gcc/testsuite/rust/compile/rustc_const_unstable.rs | 4 + gcc/testsuite/rust/compile/shadow1.rs | 2 +- .../rust/compile/sizeof-stray-infer-var-bug.rs | 2 + .../rust/compile/struct_expr_field_attributes.rs | 22 + gcc/testsuite/rust/compile/torture/intrinsics-8.rs | 2 + .../rust/compile/torture/transmute-size-check-1.rs | 2 + gcc/testsuite/rust/compile/torture/transmute1.rs | 2 + .../rust/compile/torture/uninit-intrinsic-1.rs | 2 + gcc/testsuite/rust/compile/trait13.rs | 47 + gcc/testsuite/rust/compile/trait14.rs | 51 + .../rust/compile/unknown-associated-item.rs | 10 + gcc/testsuite/rust/compile/v0-mangle1.rs | 2 +- .../rust/compile/{ => xfail}/name_resolution21.rs | 3 +- .../execute/torture/builtin_macro_include_bytes.rs | 49 +- .../execute/torture/builtin_macro_include_str.rs | 11 +- .../rust/execute/torture/inline_asm_mov_x_5_ARM.rs | 36 + .../execute/torture/inline_asm_mov_x_5_x86_64.rs | 35 + gcc/testsuite/rust/execute/torture/issue-1436.rs | 3 + gcc/testsuite/rust/execute/torture/issue-2187.rs | 3 +- gcc/testsuite/rust/execute/torture/issue-2583.rs | 2 + gcc/testsuite/rust/execute/torture/issue-2906.rs | 34 + gcc/testsuite/rust/execute/torture/trait14.rs | 47 + gcc/testsuite/rust/execute/torture/trait15.rs | 56 + gcc/testsuite/rust/execute/torture/trait16.rs | 52 + gcc/testsuite/rust/execute/torture/trait17.rs | 54 + gcc/testsuite/rust/execute/torture/trait18.rs | 56 + gcc/testsuite/rust/execute/xfail/macro1.rs | 2 +- gcc/testsuite/rust/rustc/README.md | 4 + .../rust/{compile/compile.exp => rustc/rustc.exp} | 0 libgrust/libformat_parser/Cargo.toml | 4 +- .../generic_format_parser/Cargo.toml | 2 +- .../generic_format_parser/src/lib.rs | 57 +- libgrust/libformat_parser/src/bin.rs | 3 +- libgrust/libformat_parser/src/lib.rs | 42 +- 423 files changed, 13233 insertions(+), 3365 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/alpine_32bit_log_warnings copy .github/{bors_log_expected_warnings => glibcxx_ubuntu64b_log_expected_warning [...] create mode 100644 .github/no-bootstrap-asan.mk create mode 100644 .github/workflows/ccpp32alpine.yml create mode 100644 gcc/rust/ast/rust-ast-builder-type.cc create mode 100644 gcc/rust/ast/rust-ast-builder-type.h create mode 100644 gcc/rust/backend/rust-compile-asm.cc create mode 100644 gcc/rust/backend/rust-compile-asm.h create mode 100644 gcc/rust/checks/errors/borrowck/ffi-polonius/Cargo.lock copy gcc/rust/{util/rust-punycode.h => checks/errors/borrowck/polonius/rust-poloni [...] create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-pattern.cc create mode 100644 gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.cc create mode 100644 gcc/rust/checks/errors/borrowck/rust-borrow-checker-diagnostics.h create mode 100644 gcc/rust/checks/errors/rust-hir-pattern-analysis.cc copy gcc/rust/checks/errors/{rust-const-checker.h => rust-hir-pattern-analysis.h} (50%) create mode 100644 gcc/rust/expand/rust-macro-builtins-asm.h create mode 100644 gcc/rust/resolve/rust-finalize-imports-2.0.cc create mode 100644 gcc/rust/resolve/rust-finalize-imports-2.0.h create mode 100644 gcc/testsuite/rust/compile/auto_trait.rs create mode 100644 gcc/testsuite/rust/compile/box_syntax.rs create mode 100644 gcc/testsuite/rust/compile/box_syntax_feature_gate.rs delete mode 100644 gcc/testsuite/rust/compile/builtin_macro_include_bytes.rs delete mode 100644 gcc/testsuite/rust/compile/builtin_macro_include_str.rs create mode 100644 gcc/testsuite/rust/compile/dropck_eyepatch_feature_gate.rs create mode 100644 gcc/testsuite/rust/compile/exclusive_range_pattern.rs create mode 100644 gcc/testsuite/rust/compile/exclusive_range_pattern_feature_gate.rs create mode 100644 gcc/testsuite/rust/compile/exhaustiveness1.rs create mode 100644 gcc/testsuite/rust/compile/exhaustiveness2.rs create mode 100644 gcc/testsuite/rust/compile/exhaustiveness3.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_compile_nop.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_faulty_clobber.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_ident_first.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_illegal_operands.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_illegal_options.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_legal_options.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_nop.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_outside_unsafe.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_parse_operand.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_parse_output_operand.rs create mode 100644 gcc/testsuite/rust/compile/inline_asm_typecheck.rs create mode 100644 gcc/testsuite/rust/compile/issue-2203.rs create mode 100644 gcc/testsuite/rust/compile/issue-2324-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2324-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-2499.rs create mode 100644 gcc/testsuite/rust/compile/issue-2725.rs create mode 100644 gcc/testsuite/rust/compile/issue-2906.rs create mode 100644 gcc/testsuite/rust/compile/issue-2951.rs create mode 100644 gcc/testsuite/rust/compile/issue-2987.rs create mode 100644 gcc/testsuite/rust/compile/issue-3030.rs create mode 100644 gcc/testsuite/rust/compile/issue-3035.rs create mode 100644 gcc/testsuite/rust/compile/issue-3036.rs create mode 100644 gcc/testsuite/rust/compile/issue-3045-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3045-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3046.rs create mode 100644 gcc/testsuite/rust/compile/issue-3082.rs create mode 100644 gcc/testsuite/rust/compile/issue-3139-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3139-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3139-3.rs create mode 100644 gcc/testsuite/rust/compile/issue-3141.rs copy gcc/testsuite/rust/compile/{compile.exp => macros/builtin/builtin_macro.exp} (100%) rename gcc/testsuite/rust/compile/{builtin_macro_compile_error.rs => macros/builti [...] rename gcc/testsuite/rust/compile/{builtin_macro_concat.rs => macros/builtin/conca [...] rename gcc/testsuite/rust/compile/{builtin_macro_eager1.rs => macros/builtin/eager [...] rename gcc/testsuite/rust/compile/{builtin_macro_eager2.rs => macros/builtin/eager [...] rename gcc/testsuite/rust/compile/{builtin_macro_eager3.rs => macros/builtin/eager [...] rename gcc/testsuite/rust/compile/{builtin_macro_env.rs => macros/builtin/env.rs} (100%) copy gcc/testsuite/rust/compile/{include_empty.rs => macros/builtin/include1.rs} (59%) copy gcc/testsuite/rust/compile/{include_empty.rs => macros/builtin/include2.rs} (58%) create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include3.rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include4.rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include_bytes.rs rename gcc/testsuite/rust/compile/{builtin_macro_include_bytes_location_info.rs => [...] create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include_rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include_rs2 create mode 100644 gcc/testsuite/rust/compile/macros/builtin/include_str.rs rename gcc/testsuite/rust/compile/{builtin_macro_include_str_location_info.rs => m [...] rename gcc/testsuite/rust/compile/{ => macros/builtin}/invalid_utf8 (100%) rename gcc/testsuite/rust/compile/{builtin_macro_not_found.rs => macros/builtin/no [...] rename gcc/testsuite/rust/compile/{builtin_macro_recurse2.rs => macros/builtin/rec [...] rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-delim.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1053-2.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1053.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1224.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1233.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1395-2.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1395.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1400-2.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue1400.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2092.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2192.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2194.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2229.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2264.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2268.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2273.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro-issue2653.rs (100%) create mode 100644 gcc/testsuite/rust/compile/macros/mbe/macro-issue2983_2984.rs rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro1.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro10.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro11.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro12.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro13.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro14.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro15.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro16.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro17.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro18.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro19.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro2.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro20.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro21.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro22.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro23.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro25.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro26.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro27.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro28.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro29.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro3.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro30.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro31.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro32.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro33.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro34.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro35.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro36.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro37.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro38.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro39.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro4.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro40.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro41.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro42.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro43.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro44.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro45.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro46.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro47.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro48.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro49.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro5.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro50.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro51.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro52.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro53.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro54.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro55.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro56.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro57.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro6.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro7.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro8.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro9.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro_call_statement.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro_export_1.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro_return.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro_rules_macro_rules.rs (100%) rename gcc/testsuite/rust/compile/{ => macros/mbe}/macro_use1.rs (100%) copy gcc/testsuite/rust/compile/{compile.exp => macros/mbe/mbe_macro.exp} (100%) rename gcc/testsuite/rust/compile/{proc_macro_attribute_crate_type.rs => macros/pr [...] rename gcc/testsuite/rust/compile/{proc_macro_attribute_non_function.rs => macros/ [...] rename gcc/testsuite/rust/compile/{proc_macro_attribute_non_root_function.rs => ma [...] rename gcc/testsuite/rust/compile/{proc_macro_attribute_non_root_method.rs => macr [...] rename gcc/testsuite/rust/compile/{proc_macro_attribute_non_root_module.rs => macr [...] rename gcc/testsuite/rust/compile/{proc_macro_attribute_private.rs => macros/proc/ [...] rename gcc/testsuite/rust/compile/{proc_macro_crate_type.rs => macros/proc/crate_t [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_crate_type.rs => macros/proc/ [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_malformed.rs => macros/proc/d [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_non_function.rs => macros/pro [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_non_root_function.rs => macro [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_non_root_module.rs => macros/ [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_private.rs => macros/proc/der [...] rename gcc/testsuite/rust/compile/{proc_macro_non_function.rs => macros/proc/non_f [...] rename gcc/testsuite/rust/compile/{proc_macro_non_root_function.rs => macros/proc/ [...] rename gcc/testsuite/rust/compile/{proc_macro_non_root_method.rs => macros/proc/no [...] rename gcc/testsuite/rust/compile/{proc_macro_non_root_module.rs => macros/proc/no [...] rename gcc/testsuite/rust/compile/{proc_macro_derive_non_root_method.rs => macros/ [...] rename gcc/testsuite/rust/compile/{proc_macro_private.rs => macros/proc/private.rs [...] copy gcc/testsuite/rust/compile/{compile.exp => macros/proc/proc_macro.exp} (100%) rename gcc/testsuite/rust/compile/{proc_macro_pub_function.rs => macros/proc/pub_f [...] rename gcc/testsuite/rust/compile/{proc_macro_pub_module.rs => macros/proc/pub_mod [...] create mode 100644 gcc/testsuite/rust/compile/match-struct-path.rs create mode 100644 gcc/testsuite/rust/compile/match8.rs create mode 100644 gcc/testsuite/rust/compile/match9.rs create mode 100644 gcc/testsuite/rust/compile/may_dangle.rs create mode 100644 gcc/testsuite/rust/compile/negative_impls.rs create mode 100644 gcc/testsuite/rust/compile/negative_impls_2.rs create mode 100644 gcc/testsuite/rust/compile/nonexistent-field.rs create mode 100644 gcc/testsuite/rust/compile/not_raw_ref_op.rs create mode 100644 gcc/testsuite/rust/compile/nr2/compile.exp create mode 100644 gcc/testsuite/rust/compile/nr2/exclude create mode 100644 gcc/testsuite/rust/compile/prelude_import.rs create mode 100644 gcc/testsuite/rust/compile/raw_ref_op.rs create mode 100644 gcc/testsuite/rust/compile/raw_ref_op_feature_gate.rs create mode 100644 gcc/testsuite/rust/compile/raw_ref_op_invalid.rs create mode 100644 gcc/testsuite/rust/compile/rustc_const_unstable.rs create mode 100644 gcc/testsuite/rust/compile/struct_expr_field_attributes.rs create mode 100644 gcc/testsuite/rust/compile/trait13.rs create mode 100644 gcc/testsuite/rust/compile/trait14.rs create mode 100644 gcc/testsuite/rust/compile/unknown-associated-item.rs rename gcc/testsuite/rust/compile/{ => xfail}/name_resolution21.rs (62%) create mode 100644 gcc/testsuite/rust/execute/torture/inline_asm_mov_x_5_ARM.rs create mode 100644 gcc/testsuite/rust/execute/torture/inline_asm_mov_x_5_x86_64.rs create mode 100644 gcc/testsuite/rust/execute/torture/issue-2906.rs create mode 100644 gcc/testsuite/rust/execute/torture/trait14.rs create mode 100644 gcc/testsuite/rust/execute/torture/trait15.rs create mode 100644 gcc/testsuite/rust/execute/torture/trait16.rs create mode 100644 gcc/testsuite/rust/execute/torture/trait17.rs create mode 100644 gcc/testsuite/rust/execute/torture/trait18.rs create mode 100644 gcc/testsuite/rust/rustc/README.md copy gcc/testsuite/rust/{compile/compile.exp => rustc/rustc.exp} (100%)