This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 55434a57e5c fortran: Use array descriptor offset setter when possible new afe024047b8 gccrs: nr2.0: late: Correctly initialize funny_error member new e5be440ecf7 gccrs: backend: Refactor struct pattern compilation new 5ef9ef5b880 gccrs: backend: Compile struct rebinding patterns new ba94b1e2f8f gccrs: ast: builder: Allow building struct ident patterns new 8517601c812 gccrs: derive(PartialEq): Allow deriving enum structs new 652732d49dc gccrs: derive(PartialEq): Fix raw strings in test new 97a7ae20392 gccrs: Emit error diagnostic for bad impl type usage new f45eaca3a3c gccrs: desugar APIT impl traits new f70757fb591 gccrs: Improve canonical path handling for impl items new 66cf64e9d2b gccrs: Improve struct pattern compilation new 17a863d7ace gccrs: nr2.0: Adjust enum item visitors new 9819ac46419 gccrs: Prevent passing generic arguments to impl traits in [...] new 5d658d8b627 gccrs: fix ICE on empty constexpr loops new 71890448862 gccrs: ast: collector: visit InlineAsm node during ast dump new f90a4d7711a gccrs: nr2.0: Adjust resolution of impl items new 7e38e0ca35d gccrs: Adapt attribute lang hook and do some cleanup new 97fc34aab82 gccrs: We cant clone types as it will dup the node-id new f79beeae1f2 gccrs: nr2.0: Fix borrow checking new 8e454ab6e18 gccrs: Fix test same_field_name.rs new 449378d8435 gccrs: Fix Attr metavariable binding new e44b0b51115 gccrs: remove unused file new dd65cf1df98 gccrs: Reindent using last clang-format configuration new 94389da3bd1 gccrs: remove now useless clang-format comments new 99e7f6fea63 gccrs: Small improvements to DefaultASTVisitor and nr2.0 new e66defecdb2 Rust: Move 'libformat_parser' build into the GCC build directory new 51089b89bd4 gccrs: Remove rvalue reference binding new 6524c0687ae gccrs: Fix NR2 ICE in visit_attributes new 79c6dde7777 gccrs: nr2.0: Fix test builtin_abort.rs new 4b7fd08a419 gccrs: nr2.0: Fix some paths in test files new 41b45c5ed60 gccrs: Revert 10-second timeout for each test new af9aef55005 gccrs: refactor default infer vars to be its own function new 3c72ed2e711 gccrs: Remove unneeded clones untill we have an arena alloc [...] new f4a6ab3e763 gccrs: Fix non canonical type bug with tuples new 7aa25295915 gccrs: Initial support for Return Position Impl Trait new 2a09128fceb gccrs: nr2.0: Fix IfLet pattern handling new a283674556f gccrs: Always emit the error highest in the type hierarchy new 55279e66f09 gccrs: ast: Add ConstBlock and AnonConst nodes new 6e4f14d2a77 gccrs: parser: Add base for parsing const blocks new 0789f683ffc gccrs: hir: Add const blocks new 954afe2d85b gccrs: const-block: Add testcase new 93c36bbcb3d gccrs: Make ConstantItem use Identifier new 0bfd81883eb gccrs: parser: fix ICE std::out_of_range with path attrs to [...] new e2e16df3b10 gccrs: nr2.0: Improve visibility path handling new af13b316e2f gccrs: nr2.0: Catch Self in impl block self types new 4cd0f0c6d31 gccrs: fix: ICE when parsing unterminated raw byte strings new 3d50a05bba5 gccrs: Lower IdentifierPattern's to_bind to HIR new c0d42a5ebab gccrs: nr2.0: Separate out canonical path handling new 471dfeee5f5 gccrs: Add new function ClosureExpr::get_definition_expr new 0aa558c1ccf gccrs: nr2.0: Improve StructPatternFieldIdent handling new 9a9d97b6944 gccrs: nr2.0: Adjust pub_restricted tests new f75b10f848c gccrs: nr2.0: Improve handling of single segment paths new a709ad493ab gccrs: nr2.0: Fix closure parameter scoping new 0613241c5e8 gccrs: Support compilation of IdentifierPattern's subpatterns new 7f5e6b5312f gccrs: Rename IdentifierPattern's to_bind to subpattern new 4351f509956 gccrs: nr2.0: Adjust alternate identifier handling new 82fabf7c9ce gccrs: Fix bad type canonicalization on ARRAY_TYPES new e0ad76bf33f gccrs: Fix bug in query type stopping PartialOrd new e2446968726 gccrs: rib: Add all kinds of Ribs to pretty-printing new a88309509be gccrs: derive: chore: Add missing override qualifiers new 535aaf9882c gccrs: derive(Ord, PartialOrd): Add base for deriving them. new e07ed4f016e gccrs: derive: Add const generics when deriving impls new 5ea7f9cf616 gccrs: builder: Add match_case() function and new block() one new 6892dbf3a5f gccrs: derive: Add common comparison derive class new c886a1f65c2 gccrs: derive(PartialEq): Use that common class new b21e3e1d444 gccrs: derive(Ord, PartialOrd): Implement proper recursive [...] new e188ba2fd7f gccrs: derive(PartialEq): chore: Refactor using new SelfOther APIs new 2cf21f89957 gccrs: derive(Ord, PartialOrd): Handle tuples properly new 837189032be gccrs: builder: Add Builder::discriminant_value new 54b7f68b45b gccrs: derive(Hash): Use new Builder API new 33d713f039d gccrs: derive(Ord): Add handling for ordering of discrimina [...] new efdbea3b2bb gccrs: ast-builder: Make location public new 714a56ca67d gccrs: derive-cmp: Add EnumMatchBuilder class new 7e48be1af72 gccrs: derive(PartialEq): Implement proper discriminant comparison new db4ee95302a gccrs: derive(Ord, PartialOrd): Finish implementation new 45730080b20 gccrs: derive(Ord): Fix condition for matching on Option::S [...] new 0194d12d275 gccrs: derive(Ord): Fix cmp call to use references instead [...] new b9c51cb043d gccrs: derive(Ord): Handle unit structs properly new cfd2dd925da gccrs: derive(Ord, Eq): Use different node IDs for variant paths new 83a80fe42a4 gccrs: chore: Fix formatting new 20efd782e3d gccrs: Improve HIR dumps for patterns new 48d28a58010 gccrs: nr2.0: Adjust lookup of associated items new efd1c71a227 gccrs: Rename get_pattern_to_bind to get_subpattern new aec1942c844 gccrs: Implement name resolution for IdentifierPattern's su [...] new c11c65378d9 gccrs: Implement compilation of IdentifierPattern's subpatt [...] new a0ada5fb1bb gccrs: nr2.0: Update IdentifierPattern's subpattern name re [...] new 1223585918c gccrs: Fix issues around PartialEq Eq Ord Partial Ord new aeb9d51334c gccrs: Fix execute testsuite new 3dd992925f9 gccrs: Adjust external crate lowering and type checking new 886eaa244a3 gccrs: Fix ICE when constant is missing and expression new a0b8b76c8cf gccrs: Add test case showing RPIT working to close issue new 3aac3dfec91 gccrs: Move AST desugaring into expansion phase new 29e6cfbd277 gccrs: Ensure we look at the bounds behind a reference new d5c85e24844 gccrs: Fix cyclical projection to placeholder new e59986b5230 gccrs: Cleanup and refactor method resolution new 72c83626309 gccrs: Refactor marker builtin trait assembly new 8ddeba50f47 gccrs: Fix bug with bad type bindings not looking at super traits new 2746b97a7da gccrs: Fix silly ordering bug in trait reference resolution new 86c14f52285 gccrs: Add unify rules for fnptr and closures new 79fc731015f gccrs: nr2.0: Fix resolution of constant items new 866510c83a4 gccrs: Fix TupleStructPattern compilation throwing error new dd4eabb87bf gccrs: check for invalid const calls during code-gen new 6e5e0c1fd94 gccrs: Fix bug with non compiled const decl new 6ced4637622 gccrs: Fix scan-assembler regexp in recurse2.rs new 5b9ef28055d gccrs: Add getter for outer attributions new 8c05bfc1537 gccrs: Add getter for non const lifetime object new ae031e3801d gccrs: Create Rust::GGC::Ident new b01fc113585 gccrs: Implement default HIR visitor class new 08011fc3d85 gccrs: Update C++ version check in rust-lang.cc new 59c81cdfeac gccrs: Implement type checking for ItemType::RANGED in Tupl [...] new 046992d0531 gccrs: nr2.0: Adjust resolution of external crates new 352f9803600 gccrs: Add locus getters new ffda76709dd gccrs: nr2.0: Add more checks for alternate patterns new abdac0332a5 gccrs: nr2.0: Adjust resolution of modules new 1c0b98dedc1 gccrs: ast: reconstruct: Add base for reconstructing and as [...] new f4b8b8332ff gccrs: ast: Add reconstruct() method for Type nodes new 4c4efadd0f6 gccrs: ast: builder: Remove ASTTypeBuilder new 1c4521b3970 gccrs: reconstruct_vec: Allocate size when creating the vector new 794b084ba24 gccrs: chore: ast: Fix formatting and includes new 0803c00cddd gccrs: Fix type checking logic for TuplePattern new b42078879d7 gccrs: Implement compilation support for TuplePatternItems::RANGED
The 120 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: .gitignore | 3 - gcc/rust/Make-lang.in | 7 +- gcc/rust/ast/rust-ast-builder-type.cc | 163 --- gcc/rust/ast/rust-ast-builder-type.h | 57 - gcc/rust/ast/rust-ast-builder.cc | 85 +- gcc/rust/ast/rust-ast-builder.h | 43 +- gcc/rust/ast/rust-ast-collector.cc | 142 ++- gcc/rust/ast/rust-ast-collector.h | 2 + gcc/rust/ast/rust-ast-dump.h | 6 +- gcc/rust/ast/rust-ast-formatting.h | 15 +- gcc/rust/ast/rust-ast-full-decls.h | 3 +- gcc/rust/ast/rust-ast-visitor.cc | 50 +- gcc/rust/ast/rust-ast-visitor.h | 4 + gcc/rust/ast/rust-ast.cc | 55 +- gcc/rust/ast/rust-ast.h | 75 +- gcc/rust/ast/rust-collect-lang-items.cc | 24 + gcc/rust/ast/rust-collect-lang-items.h | 3 + gcc/rust/ast/rust-cond-compilation.h | 4 +- gcc/rust/ast/rust-desugar-apit.cc | 522 +++++++++ .../ast/{rust-macro.cc => rust-desugar-apit.h} | 21 +- gcc/rust/ast/rust-expr.h | 200 +++- gcc/rust/ast/rust-fmt.h | 7 +- gcc/rust/ast/rust-item.h | 35 +- gcc/rust/ast/rust-macro.h | 20 +- gcc/rust/ast/rust-path.cc | 21 + gcc/rust/ast/rust-path.h | 45 +- gcc/rust/ast/rust-pattern.cc | 4 +- gcc/rust/ast/rust-pattern.h | 34 +- gcc/rust/ast/rust-type.h | 150 ++- gcc/rust/backend/rust-compile-base.cc | 12 +- gcc/rust/backend/rust-compile-block.cc | 1 + gcc/rust/backend/rust-compile-block.h | 9 + gcc/rust/backend/rust-compile-context.cc | 15 +- gcc/rust/backend/rust-compile-expr.cc | 52 +- gcc/rust/backend/rust-compile-expr.h | 2 + gcc/rust/backend/rust-compile-implitem.cc | 6 +- gcc/rust/backend/rust-compile-intrinsic.cc | 66 +- gcc/rust/backend/rust-compile-item.cc | 71 +- gcc/rust/backend/rust-compile-item.h | 8 +- gcc/rust/backend/rust-compile-pattern.cc | 323 ++++-- gcc/rust/backend/rust-compile-pattern.h | 20 +- gcc/rust/backend/rust-compile-resolve-path.cc | 13 +- gcc/rust/backend/rust-compile-type.cc | 21 +- gcc/rust/backend/rust-compile-var-decl.h | 3 +- gcc/rust/backend/rust-constexpr.cc | 193 ++-- gcc/rust/backend/rust-constexpr.h | 3 +- gcc/rust/backend/rust-mangle-v0.cc | 18 +- gcc/rust/backend/rust-mangle.h | 11 +- gcc/rust/backend/rust-tree.cc | 82 +- gcc/rust/backend/rust-tree.h | 183 ++- .../errors/borrowck/polonius/rust-polonius.h | 20 +- .../errors/borrowck/rust-bir-builder-expr-stmt.cc | 18 +- .../errors/borrowck/rust-bir-builder-expr-stmt.h | 2 + .../errors/borrowck/rust-bir-builder-internal.h | 54 +- .../borrowck/rust-bir-builder-lazyboolexpr.h | 8 + .../errors/borrowck/rust-bir-builder-pattern.cc | 21 +- .../errors/borrowck/rust-bir-builder-struct.h | 2 + gcc/rust/checks/errors/borrowck/rust-bir-dump.cc | 3 +- .../errors/borrowck/rust-bir-fact-collector.h | 27 +- gcc/rust/checks/errors/borrowck/rust-bir-place.h | 8 +- gcc/rust/checks/errors/borrowck/rust-bir-visitor.h | 2 +- .../errors/borrowck/rust-function-collector.h | 2 + .../checks/errors/privacy/rust-privacy-check.cc | 3 +- gcc/rust/checks/errors/privacy/rust-privacy-ctx.h | 3 +- .../checks/errors/privacy/rust-privacy-reporter.cc | 27 +- .../checks/errors/privacy/rust-privacy-reporter.h | 2 + .../checks/errors/privacy/rust-reachability.cc | 6 +- .../errors/privacy/rust-visibility-resolver.cc | 3 +- gcc/rust/checks/errors/rust-const-checker.cc | 20 + gcc/rust/checks/errors/rust-const-checker.h | 2 + .../checks/errors/rust-hir-pattern-analysis.cc | 138 ++- gcc/rust/checks/errors/rust-hir-pattern-analysis.h | 8 +- gcc/rust/checks/errors/rust-unsafe-checker.cc | 12 + gcc/rust/checks/errors/rust-unsafe-checker.h | 2 + gcc/rust/expand/rust-cfg-strip.cc | 12 +- gcc/rust/expand/rust-derive-clone.h | 10 +- gcc/rust/expand/rust-derive-cmp-common.cc | 191 ++++ gcc/rust/expand/rust-derive-cmp-common.h | 99 ++ gcc/rust/expand/rust-derive-copy.h | 8 +- gcc/rust/expand/rust-derive-default.cc | 5 +- gcc/rust/expand/rust-derive-eq.cc | 17 +- gcc/rust/expand/rust-derive-eq.h | 10 +- gcc/rust/expand/rust-derive-hash.cc | 9 +- gcc/rust/expand/rust-derive-hash.h | 10 +- gcc/rust/expand/rust-derive-ord.cc | 323 ++++++ gcc/rust/expand/rust-derive-ord.h | 122 ++ gcc/rust/expand/rust-derive-partial-eq.cc | 147 ++- gcc/rust/expand/rust-derive-partial-eq.h | 29 +- gcc/rust/expand/rust-derive.cc | 36 +- gcc/rust/expand/rust-derive.h | 2 + gcc/rust/expand/rust-expand-format-args.cc | 6 +- gcc/rust/expand/rust-expand-visitor.cc | 2 +- gcc/rust/expand/rust-expand-visitor.h | 6 +- gcc/rust/expand/rust-macro-builtins-asm.cc | 38 +- gcc/rust/expand/rust-macro-builtins-asm.h | 32 +- gcc/rust/expand/rust-macro-builtins-helpers.h | 35 +- gcc/rust/expand/rust-macro-expand.cc | 45 +- gcc/rust/expand/rust-macro-substitute-ctx.cc | 3 +- gcc/rust/expand/rust-proc-macro.h | 6 +- gcc/rust/hir/rust-ast-lower-base.cc | 21 +- gcc/rust/hir/rust-ast-lower-base.h | 2 + gcc/rust/hir/rust-ast-lower-expr.cc | 62 +- gcc/rust/hir/rust-ast-lower-expr.h | 2 + gcc/rust/hir/rust-ast-lower-extern.h | 2 +- gcc/rust/hir/rust-ast-lower-implitem.cc | 3 +- gcc/rust/hir/rust-ast-lower-item.cc | 34 +- gcc/rust/hir/rust-ast-lower-item.h | 1 + gcc/rust/hir/rust-ast-lower-pattern.cc | 30 +- gcc/rust/hir/rust-ast-lower-type.cc | 62 +- gcc/rust/hir/rust-ast-lower-type.h | 13 +- gcc/rust/hir/rust-ast-lower.h | 8 +- gcc/rust/hir/rust-hir-dump.cc | 41 +- gcc/rust/hir/rust-hir-dump.h | 5 +- gcc/rust/hir/tree/rust-hir-expr-abstract.h | 4 +- gcc/rust/hir/tree/rust-hir-expr.cc | 66 +- gcc/rust/hir/tree/rust-hir-expr.h | 87 +- gcc/rust/hir/tree/rust-hir-full-decls.h | 3 +- gcc/rust/hir/tree/rust-hir-item.cc | 9 +- gcc/rust/hir/tree/rust-hir-item.h | 22 +- gcc/rust/hir/tree/rust-hir-pattern.h | 18 +- gcc/rust/hir/tree/rust-hir-visibility.h | 2 + gcc/rust/hir/tree/rust-hir-visitor.cc | 1179 ++++++++++++++++++++ gcc/rust/hir/tree/rust-hir-visitor.h | 311 ++++++ gcc/rust/hir/tree/rust-hir.cc | 61 +- gcc/rust/lex/rust-lex.cc | 19 +- gcc/rust/lex/rust-lex.h | 3 +- gcc/rust/lex/rust-token.cc | 11 +- gcc/rust/lex/rust-token.h | 25 +- gcc/rust/metadata/rust-export-metadata.cc | 3 +- gcc/rust/metadata/rust-import-archive.cc | 2 +- gcc/rust/metadata/rust-imports.h | 3 +- gcc/rust/parse/rust-cfg-parser.h | 7 +- gcc/rust/parse/rust-parse-impl.h | 341 ++++-- gcc/rust/parse/rust-parse.cc | 46 +- gcc/rust/parse/rust-parse.h | 16 +- gcc/rust/resolve/rust-ast-resolve-base.cc | 8 + gcc/rust/resolve/rust-ast-resolve-base.h | 3 + gcc/rust/resolve/rust-ast-resolve-expr.cc | 38 +- gcc/rust/resolve/rust-ast-resolve-expr.h | 2 + gcc/rust/resolve/rust-ast-resolve-item.cc | 37 +- gcc/rust/resolve/rust-ast-resolve-item.h | 3 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 32 +- gcc/rust/resolve/rust-ast-resolve-stmt.h | 3 +- gcc/rust/resolve/rust-ast-resolve-type.cc | 11 +- gcc/rust/resolve/rust-ast-resolve.cc | 3 +- gcc/rust/resolve/rust-default-resolver.cc | 316 +++++- gcc/rust/resolve/rust-default-resolver.h | 15 + gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 23 +- gcc/rust/resolve/rust-forever-stack.h | 15 +- gcc/rust/resolve/rust-forever-stack.hxx | 264 +++-- gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 196 ++-- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 11 +- gcc/rust/resolve/rust-name-resolution-context.cc | 116 +- gcc/rust/resolve/rust-name-resolution-context.h | 370 +++++- gcc/rust/resolve/rust-rib.h | 10 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 133 +-- gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 5 +- gcc/rust/rust-attribs.cc | 162 ++- gcc/rust/rust-backend.h | 278 ++--- gcc/rust/rust-diagnostics.cc | 49 +- gcc/rust/rust-diagnostics.h | 13 +- gcc/rust/rust-gcc.cc | 64 +- gcc/rust/rust-lang.cc | 19 +- gcc/rust/rust-object-export.h | 13 +- gcc/rust/rust-session-manager.cc | 59 +- gcc/rust/rust-session-manager.h | 3 +- gcc/rust/rust-system.h | 6 +- gcc/rust/rust-target.h | 3 +- gcc/rust/typecheck/rust-autoderef.cc | 3 +- gcc/rust/typecheck/rust-casts.cc | 27 +- gcc/rust/typecheck/rust-coercion.cc | 26 +- gcc/rust/typecheck/rust-hir-dot-operator.cc | 183 +-- gcc/rust/typecheck/rust-hir-dot-operator.h | 35 + gcc/rust/typecheck/rust-hir-trait-reference.cc | 10 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 25 +- gcc/rust/typecheck/rust-hir-type-bounds.h | 2 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 30 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 8 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 115 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 5 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 24 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 45 +- gcc/rust/typecheck/rust-hir-type-check-item.h | 2 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 111 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 6 + gcc/rust/typecheck/rust-hir-type-check-struct.cc | 3 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 18 +- gcc/rust/typecheck/rust-hir-type-check.cc | 8 +- gcc/rust/typecheck/rust-hir-type-check.h | 4 +- gcc/rust/typecheck/rust-substitution-mapper.cc | 2 +- gcc/rust/typecheck/rust-type-util.cc | 6 +- gcc/rust/typecheck/rust-type-util.h | 39 +- gcc/rust/typecheck/rust-typecheck-context.cc | 67 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 52 +- gcc/rust/typecheck/rust-tyty-call.cc | 17 +- gcc/rust/typecheck/rust-tyty-cmp.h | 6 +- gcc/rust/typecheck/rust-tyty-subst.cc | 21 +- gcc/rust/typecheck/rust-tyty-subst.h | 1 + gcc/rust/typecheck/rust-tyty-variance-analysis.h | 7 +- gcc/rust/typecheck/rust-tyty.cc | 141 +-- gcc/rust/typecheck/rust-tyty.h | 12 +- gcc/rust/typecheck/rust-unify.cc | 385 ++++--- gcc/rust/typecheck/rust-unify.h | 3 + gcc/rust/util/rust-abi.h | 6 +- gcc/rust/util/rust-attributes.cc | 3 +- gcc/rust/util/rust-base62.h | 3 +- gcc/rust/util/rust-canonical-path.h | 13 +- gcc/rust/util/rust-dir-owner.h | 3 +- gcc/rust/util/rust-edition.h | 3 +- gcc/rust/util/{rust-edition.h => rust-ggc.cc} | 32 +- gcc/rust/util/rust-ggc.h | 63 ++ gcc/rust/util/rust-punycode.h | 6 +- gcc/rust/util/rust-token-converter.cc | 8 +- gcc/rust/util/rust-token-converter.h | 9 +- gcc/rust/util/rust-unicode.h | 27 +- gcc/rust/util/rust-unwrap-segment.h | 9 +- gcc/testsuite/lib/rust.exp | 5 +- gcc/testsuite/rust/compile/bad-rpit1.rs | 26 + .../rust/compile/bug-with-default-generic.rs | 15 + gcc/testsuite/rust/compile/const_generics_3.rs | 2 +- gcc/testsuite/rust/compile/derive_partial_ord1.rs | 464 ++++++++ gcc/testsuite/rust/compile/impl_trait_diag.rs | 17 + .../rust/compile/impl_trait_generic_arg.rs | 24 + .../rust/compile/{issue-3711.rs => issue-1485.rs} | 9 +- gcc/testsuite/rust/compile/issue-1487.rs | 15 + gcc/testsuite/rust/compile/issue-2015.rs | 3 +- .../rust/compile/{issue-2015.rs => issue-3454.rs} | 3 +- gcc/testsuite/rust/compile/issue-3525.rs | 6 + .../ref-pattern2.rs => compile/issue-3551.rs} | 8 +- gcc/testsuite/rust/compile/issue-3618.rs | 1 + gcc/testsuite/rust/compile/issue-3642.rs | 9 + gcc/testsuite/rust/compile/issue-3660.rs | 3 + gcc/testsuite/rust/compile/issue-3661.rs | 10 + gcc/testsuite/rust/compile/issue-3671.rs | 2 +- .../rust/compile/macros/builtin/recurse2.rs | 2 +- .../rust/compile/macros/mbe/meta-param.rs | 7 + .../rust/compile/match-identifierpattern-enum.rs | 12 + .../rust/compile/match-identifierpattern.rs | 9 + .../rust/compile/match-restpattern-tuple-1.rs | 8 + .../rust/compile/match-restpattern-tuple-2.rs | 8 + .../rust/compile/match-tuplestructpattern.rs | 9 + gcc/testsuite/rust/compile/nr2/exclude | 16 - gcc/testsuite/rust/compile/pub_restricted_1.rs | 8 +- gcc/testsuite/rust/compile/pub_restricted_2.rs | 10 +- .../rust/{execute => compile}/same_field_name.rs | 2 +- gcc/testsuite/rust/compile/self-in-impl.rs | 17 + .../issue-2052.rs => compile/silly-order-bug.rs} | 14 +- gcc/testsuite/rust/compile/torture/extern_mod2.rs | 6 + .../compile/torture/unended-raw-byte-string.rs | 6 + gcc/testsuite/rust/compile/traits9.rs | 3 +- gcc/testsuite/rust/compile/tuple_mismatch.rs | 1 + gcc/testsuite/rust/compile/unify-errors1.rs | 49 + gcc/testsuite/rust/execute/black_box.rs | 3 +- .../rust/{debug/debug.exp => execute/execute.exp} | 4 +- .../rust/execute/torture/basic_partial_ord1.rs | 176 +++ .../rust/execute/torture/basic_partial_ord2.rs | 184 +++ .../rust/execute/torture/builtin_abort.rs | 2 +- gcc/testsuite/rust/execute/torture/const_block1.rs | 9 + .../rust/execute/torture/derive-partialeq2.rs | 80 ++ gcc/testsuite/rust/execute/torture/for-loop1.rs | 38 +- gcc/testsuite/rust/execute/torture/for-loop2.rs | 38 +- .../rust/execute/torture/impl_desugar-2.rs | 32 + gcc/testsuite/rust/execute/torture/impl_desugar.rs | 32 + gcc/testsuite/rust/execute/torture/impl_rpit1.rs | 28 + gcc/testsuite/rust/execute/torture/impl_rpit2.rs | 36 + gcc/testsuite/rust/execute/torture/impl_rpit3.rs | 25 + gcc/testsuite/rust/execute/torture/impl_trait1.rs | 31 + gcc/testsuite/rust/execute/torture/impl_trait2.rs | 31 + gcc/testsuite/rust/execute/torture/impl_trait3.rs | 46 + gcc/testsuite/rust/execute/torture/impl_trait4.rs | 31 + gcc/testsuite/rust/execute/torture/issue-1481.rs | 35 + .../torture/{issue-2052.rs => issue-1482.rs} | 13 +- gcc/testsuite/rust/execute/torture/iter1.rs | 38 +- .../execute/torture/match-identifierpattern.rs | 10 + .../execute/torture/match-restpattern-tuple.rs | 27 + .../execute/torture/match-tuplestructpattern.rs | 12 + gcc/testsuite/rust/execute/torture/partial-eq-1.rs | 103 ++ gcc/testsuite/rust/execute/torture/partial-eq-2.rs | 60 + gcc/testsuite/rust/execute/torture/partial-eq-3.rs | 457 ++++++++ gcc/testsuite/rust/execute/torture/partial-eq-4.rs | 457 ++++++++ .../rust/execute/torture/partial-ord-1.rs | 101 ++ .../rust/execute/torture/partial-ord-2.rs | 469 ++++++++ .../rust/execute/torture/partial-ord-3.rs | 489 ++++++++ .../rust/execute/torture/partial-ord-4.rs | 115 ++ .../rust/execute/torture/partial-ord-5.rs | 487 ++++++++ .../rust/execute/torture/struct-pattern-match.rs | 13 + .../rust/execute/torture/struct_pattern1.rs | 19 + .../execute/xfail/match-identifierpattern-enum.rs | 15 + libgrust/libproc_macro_internal/ffistring.h | 6 +- libgrust/libproc_macro_internal/ident.h | 12 +- libgrust/libproc_macro_internal/literal.h | 3 +- libgrust/libproc_macro_internal/proc_macro.h | 3 +- libgrust/libproc_macro_internal/tokenstream.h | 18 +- 293 files changed, 12505 insertions(+), 3041 deletions(-) delete mode 100644 gcc/rust/ast/rust-ast-builder-type.cc delete mode 100644 gcc/rust/ast/rust-ast-builder-type.h create mode 100644 gcc/rust/ast/rust-desugar-apit.cc rename gcc/rust/ast/{rust-macro.cc => rust-desugar-apit.h} (66%) create mode 100644 gcc/rust/expand/rust-derive-cmp-common.cc create mode 100644 gcc/rust/expand/rust-derive-cmp-common.h create mode 100644 gcc/rust/expand/rust-derive-ord.cc create mode 100644 gcc/rust/expand/rust-derive-ord.h create mode 100644 gcc/rust/hir/tree/rust-hir-visitor.cc copy gcc/rust/util/{rust-edition.h => rust-ggc.cc} (63%) create mode 100644 gcc/rust/util/rust-ggc.h create mode 100644 gcc/testsuite/rust/compile/bad-rpit1.rs create mode 100644 gcc/testsuite/rust/compile/bug-with-default-generic.rs create mode 100644 gcc/testsuite/rust/compile/derive_partial_ord1.rs create mode 100644 gcc/testsuite/rust/compile/impl_trait_diag.rs create mode 100644 gcc/testsuite/rust/compile/impl_trait_generic_arg.rs copy gcc/testsuite/rust/compile/{issue-3711.rs => issue-1485.rs} (52%) create mode 100644 gcc/testsuite/rust/compile/issue-1487.rs copy gcc/testsuite/rust/compile/{issue-2015.rs => issue-3454.rs} (78%) create mode 100644 gcc/testsuite/rust/compile/issue-3525.rs copy gcc/testsuite/rust/{execute/torture/ref-pattern2.rs => compile/issue-3551.rs} (55%) create mode 100644 gcc/testsuite/rust/compile/issue-3618.rs create mode 100644 gcc/testsuite/rust/compile/issue-3642.rs create mode 100644 gcc/testsuite/rust/compile/issue-3660.rs create mode 100644 gcc/testsuite/rust/compile/issue-3661.rs create mode 100644 gcc/testsuite/rust/compile/macros/mbe/meta-param.rs create mode 100644 gcc/testsuite/rust/compile/match-identifierpattern-enum.rs create mode 100644 gcc/testsuite/rust/compile/match-identifierpattern.rs create mode 100644 gcc/testsuite/rust/compile/match-restpattern-tuple-1.rs create mode 100644 gcc/testsuite/rust/compile/match-restpattern-tuple-2.rs create mode 100644 gcc/testsuite/rust/compile/match-tuplestructpattern.rs rename gcc/testsuite/rust/{execute => compile}/same_field_name.rs (76%) create mode 100644 gcc/testsuite/rust/compile/self-in-impl.rs copy gcc/testsuite/rust/{execute/torture/issue-2052.rs => compile/silly-order-bug. [...] create mode 100644 gcc/testsuite/rust/compile/torture/unended-raw-byte-string.rs create mode 100644 gcc/testsuite/rust/compile/unify-errors1.rs copy gcc/testsuite/rust/{debug/debug.exp => execute/execute.exp} (94%) create mode 100644 gcc/testsuite/rust/execute/torture/basic_partial_ord1.rs create mode 100644 gcc/testsuite/rust/execute/torture/basic_partial_ord2.rs create mode 100644 gcc/testsuite/rust/execute/torture/const_block1.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive-partialeq2.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_desugar-2.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_desugar.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_rpit1.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_rpit2.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_rpit3.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_trait1.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_trait2.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_trait3.rs create mode 100644 gcc/testsuite/rust/execute/torture/impl_trait4.rs create mode 100644 gcc/testsuite/rust/execute/torture/issue-1481.rs copy gcc/testsuite/rust/execute/torture/{issue-2052.rs => issue-1482.rs} (52%) create mode 100644 gcc/testsuite/rust/execute/torture/match-identifierpattern.rs create mode 100644 gcc/testsuite/rust/execute/torture/match-restpattern-tuple.rs create mode 100644 gcc/testsuite/rust/execute/torture/match-tuplestructpattern.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-eq-1.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-eq-2.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-eq-3.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-eq-4.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-ord-1.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-ord-2.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-ord-3.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-ord-4.rs create mode 100644 gcc/testsuite/rust/execute/torture/partial-ord-5.rs create mode 100644 gcc/testsuite/rust/execute/torture/struct-pattern-match.rs create mode 100644 gcc/testsuite/rust/execute/torture/struct_pattern1.rs create mode 100644 gcc/testsuite/rust/execute/xfail/match-identifierpattern-enum.rs