This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 1aa49fe0b18 aarch64: Add support for -mcpu=olympus new eacbbac93a4 gccrs: lang-item: Remove unused NodeId from LangItemPath new 7bf460b3388 gccrs: fix bad not expression in rust new 18d289ca2b1 gccrs: implement the TuplePattern and use it for function patterns new 6b27b780754 gccrs: Made changes to AST::TraitImpl constructor for TypePath new 3396da354e5 gccrs: add ptr to int and int to ptr type cast rules new bb110608484 gccrs: typecheck-path: Fix typo (reciever -> receiver) new f30ba73582e gccrs: parser: Add testcases for multiline strings new c0640954e1a gccrs: resolve: Name resolve trait bounds properly new 36dfbd985e7 gccrs: typecheck: Add note about erorring out on additional [...] new ed75c2b000a gccrs: lang-item: Add Sync trait new f8aa5ececd4 gccrs: lang-item: Add Option::{None, Some}, Iterator::next, [...] new 2c883bb004c gccrs: lang-items: Collect trait functions that are lang items new b76ee925818 gccrs: ast: Add new constructors for PathInExpression new ea356df6265 gccrs: ast-builder: Add more methods new c4271707ce7 gccrs: Fix NR2.0 compiler ICE caused by Generics in Enums new 6ac790d2dbb gccrs: nr2.0: Handle "Self" properly in trait definitions new e9a3e00c1be gccrs: ast: Add EnumItem::Kind new c8721ccdeb4 gccrs: Remove Rust::make_unique new cd8547f85e5 gccrs: lower: Correctly lower parenthesized types new 161b9e9828b gccrs: tychk: Add more support for additional trait bounds [...] new c583545a9ad gccrs: nr2.0: Resolve type aliases inside trait definitions new 9c50565e333 gccrs: ast: Add new Kind enums for more precise downcasting new 1c13bc20ca2 gccrs: use StackedContexts for block context new b0563bb8a52 gccrs: fix ICE during HIR dump new c35aa64fbf7 gccrs: nr2.0: Improve default, top-level, and late resolvers new a362f8a7d78 gccrs: fix ICE in borrows to invalid expressions new ef4028cd847 gccrs: add support for lang_item eq and PartialEq trait new d3efd2a91f5 gccrs: fix ICE with hir dump on closure new 2fa97190687 gccrs: nr2.0: Resolve Self inside impl blocks new f821a513843 gccrs: cleanup our enum type layout to be closer to rustc new 1cad5f2bed1 gccrs: Allow float type to be casted as integer type new 8ce8781f29b gccrs: match arms are a LUB new 165e7575a96 gccrs: rust/intrinsic: add try intrinsic and panic strategy [...] new 33462c81bb0 gccrs: rust/intrinsic: add new "catch_unwind" variant of API new 5b7583c68aa gccrs: add two more tests to test try-catch (unwind) code g [...] new 76565cabf28 gccrs: Visit the trait paths of trait implementations new 770ca551cf9 gccrs: improve mutability checks new 7fd30073101 gccrs: gcc/rust/ChangeLog: new 469d668f6fa gccrs: Add ForeverStackStore new ffecc9a9724 gccrs: testsuite: Fix missing handling of little endian. new 36ac388bf96 gccrs: Fix scan-gimple testcases on LE platforms. new 29367fe699a gccrs: Revert "gcc/rust/ChangeLog:" new c0681b527a0 gccrs: Add missing name resolution to static items in blocks new c9f85323b51 gccrs: nr2.0: Early resolve pending eager macro invocations new 3a82942eaa2 gccrs: Remove dead code related to external functions new 59254026630 gccrs: ast: Fix warning about copy elision for moved expr new 1d0be889267 gccrs: attributes: Add #[derive] as a built-in attribute new 20d4c59e248 gccrs: collect-lang-items: Display attribute upon error finding it new 63023c03284 gccrs: ast: Refactor how lang item paths are handled. new 8e7d9ae2ff7 gccrs: tychk: resolve lang item type paths properly new 01504790ad2 gccrs: lower: Properly lower non-generic lang item type pat [...] new 88aeeccaca4 gccrs: lang-items: Collect struct lang items. new 5702b0a24e6 gccrs: lang-item: Add LangItem::PrettyString new 4d0cfd5b6f1 gccrs: mappings: Add get_lang_item_node new 1c9cd6a6012 gccrs: ast-collector: Adapt to lang item type path segments new 5d3afe339b9 gccrs: ast-collector: Fix tuple struct pattern collection new 8f65a00131a gccrs: lang-items: Mark Clone trait as a lang item in testsuite new 58d035551b6 gccrs: builder: Allow generating struct statements new 41cd035570e gccrs: derive(Clone): Manually generate AssertParamIsCopy s [...] new 9bc5deb919c gccrs: derive(Clone): Mark PhantomData as a lang item new a728f5f19a7 gccrs: derive(Copy): Use copy lang item when deriving Copy. new f6cdae89d1b gccrs: ast-builder: Add new methods around type paths. new d8c11ccefb4 gccrs: derive(Clone): Use lang item for PhantomData in Clone new 72ad259a22c gccrs: derive(Clone): Add note about Clone::clone() new 5ec40be008a gccrs: derive(Clone): Improve existing testcase new 4cbbaa71c1a gccrs: derive(Clone): Add deriving of simple enum variants new 8dedd0d11dd gccrs: ast-builder: Add new methods for building structs new 2c5d4994edb gccrs: derive(Clone): Implement clone for enum tuple variants new 00c48701f19 gccrs: derive(Clone): Implement derive clone for enum struc [...] new adba3fff2d4 gccrs: derive(Clone): Add lang item typepaths failure testc [...] new adbbf12a8f8 gccrs: nr2.0: late: Better format PathInExpression resolution
The 71 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: gcc/rust/Make-lang.in | 1 + gcc/rust/ast/rust-ast-builder-type.cc | 1 - gcc/rust/ast/rust-ast-builder.cc | 160 +++++++- gcc/rust/ast/rust-ast-builder.h | 75 +++- gcc/rust/ast/rust-ast-collector.cc | 64 +--- gcc/rust/ast/rust-ast-collector.h | 3 - gcc/rust/ast/rust-ast-full-decls.h | 1 - gcc/rust/ast/rust-ast-visitor.cc | 22 +- gcc/rust/ast/rust-ast-visitor.h | 5 - gcc/rust/ast/rust-ast.cc | 26 +- gcc/rust/ast/rust-ast.h | 94 +++-- gcc/rust/ast/rust-builtin-ast-nodes.h | 2 + gcc/rust/ast/rust-collect-lang-items.cc | 20 +- gcc/rust/ast/rust-collect-lang-items.h | 2 + gcc/rust/ast/rust-expr.h | 84 +++- gcc/rust/ast/rust-item.h | 422 +++++--------------- gcc/rust/ast/rust-macro.h | 39 +- gcc/rust/ast/rust-path.cc | 31 +- gcc/rust/ast/rust-path.h | 426 ++++++++------------- gcc/rust/backend/rust-compile-expr.cc | 115 ++++-- gcc/rust/backend/rust-compile-expr.h | 4 +- gcc/rust/backend/rust-compile-fnparam.cc | 31 +- gcc/rust/backend/rust-compile-fnparam.h | 4 +- gcc/rust/backend/rust-compile-intrinsic.cc | 109 ++++++ gcc/rust/backend/rust-compile-pattern.cc | 152 ++++++-- gcc/rust/backend/rust-compile-pattern.h | 2 +- gcc/rust/backend/rust-compile-resolve-path.cc | 5 +- gcc/rust/backend/rust-compile-type.cc | 62 ++- gcc/rust/checks/errors/rust-readonly-check.cc | 54 ++- gcc/rust/expand/rust-derive-clone.cc | 225 ++++++++++- gcc/rust/expand/rust-derive-clone.h | 15 + gcc/rust/expand/rust-derive-copy.cc | 6 +- gcc/rust/expand/rust-derive.h | 2 - gcc/rust/expand/rust-expand-format-args.cc | 2 +- gcc/rust/expand/rust-macro-builtins-asm.cc | 7 +- gcc/rust/expand/rust-macro-builtins-helpers.cc | 2 +- gcc/rust/expand/rust-macro-builtins-utility.cc | 4 +- gcc/rust/hir/rust-ast-lower-base.cc | 6 - gcc/rust/hir/rust-ast-lower-base.h | 2 - gcc/rust/hir/rust-ast-lower-expr.cc | 2 +- gcc/rust/hir/rust-ast-lower-stmt.cc | 6 + gcc/rust/hir/rust-ast-lower-stmt.h | 1 + gcc/rust/hir/rust-ast-lower-type.cc | 100 ++--- gcc/rust/hir/rust-ast-lower-type.h | 8 +- gcc/rust/hir/rust-ast-lower.cc | 6 +- gcc/rust/hir/rust-hir-dump.cc | 17 +- gcc/rust/hir/tree/rust-hir-expr.cc | 16 +- gcc/rust/hir/tree/rust-hir-expr.h | 2 + gcc/rust/hir/tree/rust-hir-path.cc | 21 +- gcc/rust/hir/tree/rust-hir-path.h | 38 +- gcc/rust/hir/tree/rust-hir.cc | 4 +- gcc/rust/lang.opt | 13 + gcc/rust/lex/rust-token.h | 7 +- gcc/rust/metadata/rust-import-archive.cc | 5 +- gcc/rust/metadata/rust-imports.cc | 5 +- gcc/rust/parse/rust-parse-impl.h | 123 +----- gcc/rust/parse/rust-parse.h | 4 - gcc/rust/resolve/rust-ast-resolve-base.cc | 8 - gcc/rust/resolve/rust-ast-resolve-base.h | 2 - gcc/rust/resolve/rust-ast-resolve-expr.cc | 2 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 27 +- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 21 + gcc/rust/resolve/rust-ast-resolve-stmt.h | 1 + gcc/rust/resolve/rust-ast-resolve-type.cc | 142 +++++-- gcc/rust/resolve/rust-ast-resolve-type.h | 34 +- gcc/rust/resolve/rust-default-resolver.cc | 35 +- gcc/rust/resolve/rust-default-resolver.h | 3 + gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 4 + gcc/rust/resolve/rust-early-name-resolver.cc | 10 +- gcc/rust/resolve/rust-forever-stack.cc | 318 +++++++++++++++ gcc/rust/resolve/rust-forever-stack.h | 151 ++++++++ gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 53 +-- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 2 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 83 ++-- gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 4 +- gcc/rust/rust-gcc.cc | 4 +- gcc/rust/rust-lang.cc | 2 + gcc/rust/rust-session-manager.cc | 3 + gcc/rust/rust-session-manager.h | 14 + gcc/rust/typecheck/rust-casts.cc | 33 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 4 +- gcc/rust/typecheck/rust-hir-path-probe.h | 2 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 4 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 6 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 36 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 4 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 9 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 10 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 48 ++- gcc/rust/typecheck/rust-hir-type-check-type.h | 4 +- gcc/rust/typecheck/rust-hir-type-check.cc | 3 +- gcc/rust/typecheck/rust-hir-type-check.h | 8 +- gcc/rust/typecheck/rust-typecheck-context.cc | 26 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 4 +- gcc/rust/typecheck/rust-tyty-call.cc | 9 +- gcc/rust/typecheck/rust-unify.cc | 10 - gcc/rust/util/rust-attribute-values.h | 1 + gcc/rust/util/rust-attributes.cc | 1 + gcc/rust/util/rust-hir-map.cc | 10 + gcc/rust/util/rust-hir-map.h | 1 + gcc/rust/util/rust-lang-item.cc | 57 +++ gcc/rust/util/rust-lang-item.h | 16 + gcc/rust/util/rust-make-unique.h | 35 -- gcc/rust/util/rust-operators.h | 8 +- .../rust/compile/additional-trait-bounds1.rs | 10 + .../rust/compile/additional-trait-bounds2.rs | 9 + .../rust/compile/additional-trait-bounds2nr2.rs | 11 + gcc/testsuite/rust/compile/auto_traits1.rs | 27 ++ gcc/testsuite/rust/compile/auto_traits2.rs | 26 ++ gcc/testsuite/rust/compile/auto_traits3.rs | 34 ++ .../rust/compile/cast_float_as_integer.rs | 10 + gcc/testsuite/rust/compile/cmp1.rs | 78 ++++ gcc/testsuite/rust/compile/derive_clone_enum1.rs | 16 + gcc/testsuite/rust/compile/derive_clone_enum2.rs | 16 + gcc/testsuite/rust/compile/derive_clone_enum3.rs | 16 + gcc/testsuite/rust/compile/derive_macro1.rs | 1 + gcc/testsuite/rust/compile/derive_macro3.rs | 1 + gcc/testsuite/rust/compile/derive_macro4.rs | 8 +- gcc/testsuite/rust/compile/derive_macro6.rs | 7 +- gcc/testsuite/rust/compile/issue-1446.rs | 10 +- gcc/testsuite/rust/compile/issue-2847.rs | 8 + gcc/testsuite/rust/compile/issue-3046.rs | 4 +- gcc/testsuite/rust/compile/issue-3140.rs | 27 ++ gcc/testsuite/rust/compile/issue-3304.rs | 10 + gcc/testsuite/rust/compile/issue-3350.rs | 10 + gcc/testsuite/rust/compile/iterators1.rs | 18 - .../rust/compile/macros/builtin/eager1.rs | 2 +- .../rust/compile/macros/builtin/recurse2.rs | 26 +- gcc/testsuite/rust/compile/multiline-string.rs | 14 + gcc/testsuite/rust/compile/mutability_checks1.rs | 15 + gcc/testsuite/rust/compile/nr2/exclude | 81 +--- gcc/testsuite/rust/compile/ptr_int_cast.rs | 18 + gcc/testsuite/rust/compile/try-catch-unwind-new.rs | 20 + gcc/testsuite/rust/compile/try-catch-unwind-old.rs | 21 + .../execute/torture/builtin_macro_include_bytes.rs | 2 +- .../rust/execute/torture/derive_clone_enum1.rs | 51 +++ .../rust/execute/torture/derive_macro3.rs | 1 + .../rust/execute/torture/derive_macro4.rs | 1 + .../rust/execute/torture/multiline-string.rs | 15 + 139 files changed, 3044 insertions(+), 1517 deletions(-) create mode 100644 gcc/rust/resolve/rust-forever-stack.cc delete mode 100644 gcc/rust/util/rust-make-unique.h create mode 100644 gcc/testsuite/rust/compile/additional-trait-bounds1.rs create mode 100644 gcc/testsuite/rust/compile/additional-trait-bounds2.rs create mode 100644 gcc/testsuite/rust/compile/additional-trait-bounds2nr2.rs create mode 100644 gcc/testsuite/rust/compile/auto_traits1.rs create mode 100644 gcc/testsuite/rust/compile/auto_traits2.rs create mode 100644 gcc/testsuite/rust/compile/auto_traits3.rs create mode 100644 gcc/testsuite/rust/compile/cast_float_as_integer.rs create mode 100644 gcc/testsuite/rust/compile/cmp1.rs create mode 100644 gcc/testsuite/rust/compile/derive_clone_enum1.rs create mode 100644 gcc/testsuite/rust/compile/derive_clone_enum2.rs create mode 100644 gcc/testsuite/rust/compile/derive_clone_enum3.rs create mode 100644 gcc/testsuite/rust/compile/issue-2847.rs create mode 100644 gcc/testsuite/rust/compile/issue-3140.rs create mode 100644 gcc/testsuite/rust/compile/issue-3304.rs create mode 100644 gcc/testsuite/rust/compile/issue-3350.rs create mode 100644 gcc/testsuite/rust/compile/multiline-string.rs create mode 100644 gcc/testsuite/rust/compile/mutability_checks1.rs create mode 100644 gcc/testsuite/rust/compile/ptr_int_cast.rs create mode 100644 gcc/testsuite/rust/compile/try-catch-unwind-new.rs create mode 100644 gcc/testsuite/rust/compile/try-catch-unwind-old.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive_clone_enum1.rs create mode 100644 gcc/testsuite/rust/execute/torture/multiline-string.rs