This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 28caa267dc7 icf: Punt for musttail call flag differences in ICF [PR119376] new 0c0f33bc439 gccrs: Fix bad recursive operator overload call new bf1d58686b2 gccrs: Insert trait names during toplevel resolution 2.0 new 2dbdf9b7724 gccrs: Fix variable shadowing in late resolution 2.0 new 47d2a3b1916 gccrs: Add a newline to the end of nr2/exclude new 3fe905ebf21 gccrs: Rename some PathIdentSegment functions new a36220b6d31 gccrs: Use name resolution 2.0 in TraitItemReference new f86a35bb172 gccrs: Use name resolver 2.0 in CompileTraitItem new da37d3556c6 gccrs: Improve path handling while testing name resolution 2.0 new ea163c6fe00 gccrs: Fix name resolution 2.0 definition lookups in unsafe [...] new aa0e2abc57f rust: Desugar IfLet* into MatchExpr new bcd780d114f gccrs: Use name resolution 2.0 in TraitResolver new bf878139450 gccrs: Resolve SelfParam in name resolution 2.0 new 9725d15a883 gccrs: add test case to show method resolution is working new 2f0df594cf8 gccrs: Make TyTy::TupleType::get_unit_type cache its return value new 0a30f01a61b gccrs: fix bad type inferencing on path's new 447d3841991 gccrs: Remove usage of Resolver::get_builtin_types new cbab7a13895 gccrs: Improve handling of struct expressions in nr2.0 new 389756b2ac9 gccrs: fix bad type inference on local patterns new b1e6a3f76e1 gccrs: Use name resolver 2.0 in VisibilityResolver new 2a44562d0b6 gccrs: Use name resolver 2.0 for module descendance checks new 2d0fc643a0c gccrs: Reorganize the CPU feature detection new 87e4dcd7820 gccrs: fix ICE for placeholder which is not setup new 6a65fb23a9b gccrs: fix typechecking of Fn trait calls using ADT types new c92c217c86c gccrs: Improve handling of implicit Self parameter in AST new ead44a5df4e gccrs: add test case to show issue is fixed new 71c8af9c894 gccrs: hir: Mark AttrVec::get_outer_attrs as override new bbbf9a239b5 gccrs: typecheck: Remove unused parameter in TyTyCheckCallExpr new 1e12ef05725 gccrs: asm: Fix clang warnings new 2992ff08f68 gccrs: Fix bad handling for recursive type query new 5d169079df8 gccrs: Push ribs by kind rather than by value new d3a3e52addb gccrs: Improve handling of static items in toplevel 2.0 new c29a3bc945c gccrs: Refactor HIR to reduce the amount of raw pointers new d123f43e42f gccrs: Refactor HIR with optionals, references & newtypes new 417f4bd3e0b gccrs: Refactor hir to avoid raw pointers and unneeded fwd new 6246f658336 gccrs: Fixes some tests appearing with a moved variant new a99d2909502 gccrs: Fix Generic type retrieval new ba71c9d3b56 gccrs: FnParam cloning now keeps projections new 45d4f73b81d gccrs: Refactor optional initializers new b3246d3ff22 gccrs: Fix FnParam pattern location ternary logic new 1d628b8920e gccrs: Add optional template arguments to please GCC4.8 new 2d480fe8697 gccrs: Use default constructor for default arguments new db179293754 gccrs: Use a reference wrapper to please GCC 4.8 new 0884ed91a15 gccrs: Use nr2.0 in PrivacyReporter new 6d4154ed96f gccrs: Handle type path segments during late resolution 2.0 new 54cec5aa5ab gccrs: Use nr2.0 in typechecker new 066cd2e1f81 gccrs: Clean up some system includes new 6e90ff47c65 gccrs: fix crashes in hir dump since move to references new e4a92d706b3 gccrs: empty match expressions should resolve to ! new 8d04c93d6dd gccrs: Prevent execution of some nr1.0 functions with nr2.0 new 42f94641509 gccrs: Prepend crate name to functions with nr2 new 42be99fc1ec gccrs: fix crash in hir dump with missing guards new b10f33764e6 gccrs: improve handling of Self Type paths new 80bc600efeb gccrs: allow casts from numeric types to floats new 65b68bed326 gccrs: ensure packed and aligned is applied properly new 0b4732e7916 gccrs: lang-items: Move comment about arithmetic lang items new 6524f82fb90 gccrs: mappings: Move lang_item definitions to .cc new e7bf1b6291e gccrs: hir: Remove duplicate function in TraitItemFunc new aa784e818c2 gccrs: stacked-contexts: Add peek() method new a6ad5cdc87c gccrs: ast: Use StackedContexts class in ContextualASTVisitor new 02bdd68e7da gccrs: Remove bad assertion in name resolution new 9a53a1d1abe gccrs: constant evaluation like these are coercion sites new 5ac2f2864ca gccrs: add checks for division by zero and left shift overflow new fab94e1809b gccrs: add test case to show issue is fixed new 3fa779425cc gccrs: fix crash in hir dump new e0315c13833 gccrs: lang-items: Store NodeId mappings for lang items new ed773fca7b9 gccrs: lang-items: Add lang-items AST collector new f8dd4cc1661 gccrs: attributes: Add class for sharing methods on attributes. new 9f1086da106 gccrs: type-check: Remove unused capture in nr2.0 new 588ded8766e gccrs: Fix ForeverStack::find_starting_point output parameter new c482c358e3a gccrs: ast: Add LangItemPath class new 08182824308 gccrs: derive(Copy): Use new LangItemPath new 5d79fbd65cc gccrs: hir: Start adapting visitors to accept multiple kind [...] new 70c87e94e11 gccrs: nr1.0: Resolve lang item paths properly. new c7c6b5f89a3 gccrs: hir: Lower lang-item paths new 89640686a29 gccrs: nr2.0: Resolve lang item paths properly.
The 75 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/config/i386/i386-rust-and-jit.inc | 93 ++ gcc/config/i386/i386-rust.cc | 96 +- gcc/rust/Make-lang.in | 10 +- gcc/rust/ast/rust-ast-collector.cc | 8 +- gcc/rust/ast/rust-ast-visitor.cc | 16 +- gcc/rust/ast/rust-ast-visitor.h | 10 +- gcc/rust/ast/rust-ast.cc | 4 +- gcc/rust/ast/rust-collect-lang-items.cc | 86 + gcc/rust/ast/rust-collect-lang-items.h | 58 + gcc/rust/ast/rust-expr.h | 24 +- gcc/rust/ast/rust-item.h | 58 +- gcc/rust/ast/rust-path.cc | 3 +- gcc/rust/ast/rust-path.h | 104 +- gcc/rust/ast/rust-stmt.h | 2 +- gcc/rust/backend/rust-compile-asm.cc | 9 +- gcc/rust/backend/rust-compile-asm.h | 2 - gcc/rust/backend/rust-compile-base.cc | 61 +- gcc/rust/backend/rust-compile-base.h | 6 +- gcc/rust/backend/rust-compile-block.cc | 27 +- gcc/rust/backend/rust-compile-block.h | 8 +- gcc/rust/backend/rust-compile-context.cc | 15 +- gcc/rust/backend/rust-compile-expr.cc | 241 ++- gcc/rust/backend/rust-compile-expr.h | 12 +- gcc/rust/backend/rust-compile-fnparam.cc | 14 +- gcc/rust/backend/rust-compile-fnparam.h | 4 +- gcc/rust/backend/rust-compile-implitem.cc | 53 +- gcc/rust/backend/rust-compile-intrinsic.cc | 15 +- gcc/rust/backend/rust-compile-item.cc | 34 +- gcc/rust/backend/rust-compile-pattern.cc | 77 +- gcc/rust/backend/rust-compile-pattern.h | 8 +- gcc/rust/backend/rust-compile-resolve-path.cc | 4 +- gcc/rust/backend/rust-compile-stmt.cc | 12 +- gcc/rust/backend/rust-compile-struct-field-expr.cc | 16 +- gcc/rust/backend/rust-compile-struct-field-expr.h | 2 +- gcc/rust/backend/rust-compile-type.cc | 14 +- gcc/rust/backend/rust-compile-var-decl.h | 4 +- gcc/rust/backend/rust-compile.cc | 10 +- gcc/rust/backend/rust-constexpr.cc | 8 +- gcc/rust/backend/rust-mangle-legacy.cc | 1 - gcc/rust/backend/rust-mangle-v0.cc | 5 +- .../errors/borrowck/rust-bir-builder-expr-stmt.cc | 131 +- .../errors/borrowck/rust-bir-builder-expr-stmt.h | 2 - .../borrowck/rust-bir-builder-lazyboolexpr.h | 16 +- .../errors/borrowck/rust-bir-builder-pattern.cc | 20 +- .../errors/borrowck/rust-bir-builder-pattern.h | 1 + .../errors/borrowck/rust-bir-builder-struct.h | 6 +- gcc/rust/checks/errors/borrowck/rust-bir-builder.h | 16 +- .../errors/borrowck/rust-function-collector.h | 6 +- .../checks/errors/privacy/rust-privacy-reporter.cc | 171 +- .../checks/errors/privacy/rust-privacy-reporter.h | 4 +- .../checks/errors/privacy/rust-reachability.cc | 2 +- .../errors/privacy/rust-visibility-resolver.cc | 21 +- gcc/rust/checks/errors/rust-ast-validation.cc | 20 +- gcc/rust/checks/errors/rust-const-checker.cc | 140 +- gcc/rust/checks/errors/rust-const-checker.h | 2 - .../checks/errors/rust-hir-pattern-analysis.cc | 224 ++- gcc/rust/checks/errors/rust-hir-pattern-analysis.h | 2 - gcc/rust/checks/errors/rust-unsafe-checker.cc | 180 ++- gcc/rust/checks/errors/rust-unsafe-checker.h | 4 +- gcc/rust/checks/lints/rust-lint-marklive.cc | 16 +- gcc/rust/checks/lints/rust-lint-marklive.h | 76 +- gcc/rust/expand/rust-derive-copy.cc | 6 +- gcc/rust/hir/rust-ast-lower-base.cc | 10 +- gcc/rust/hir/rust-ast-lower-block.h | 11 +- gcc/rust/hir/rust-ast-lower-expr.cc | 20 +- gcc/rust/hir/rust-ast-lower-item.cc | 6 + gcc/rust/hir/rust-ast-lower-stmt.cc | 22 +- gcc/rust/hir/rust-ast-lower-type.cc | 52 +- gcc/rust/hir/rust-ast-lower-type.h | 7 +- gcc/rust/hir/rust-ast-lower.cc | 144 +- gcc/rust/hir/rust-ast-lower.h | 5 + gcc/rust/hir/rust-hir-dump.cc | 95 +- gcc/rust/hir/rust-hir-dump.h | 3 - .../tree/rust-hir-attrs.h} | 37 +- gcc/rust/hir/tree/rust-hir-bound-abstract.h | 65 + gcc/rust/hir/tree/rust-hir-bound.h | 94 ++ gcc/rust/hir/tree/rust-hir-expr-abstract.h | 174 +++ gcc/rust/hir/tree/rust-hir-expr.cc | 1478 ++++++++++++++++++ gcc/rust/hir/tree/rust-hir-expr.h | 1642 ++++---------------- gcc/rust/hir/tree/rust-hir-full-decls.h | 2 - gcc/rust/hir/tree/rust-hir-generic-param.cc | 95 ++ gcc/rust/hir/tree/rust-hir-generic-param.h | 190 +++ gcc/rust/hir/tree/rust-hir-item.cc | 1020 ++++++++++++ gcc/rust/hir/tree/rust-hir-item.h | 1085 +++---------- gcc/rust/hir/tree/rust-hir-literal.h | 78 + gcc/rust/hir/tree/rust-hir-node.h | 63 + gcc/rust/hir/tree/rust-hir-path.cc | 383 +++++ gcc/rust/hir/tree/rust-hir-path.h | 375 +---- gcc/rust/hir/tree/rust-hir-pattern-abstract.h | 82 + gcc/rust/hir/tree/rust-hir-pattern.h | 23 +- gcc/rust/hir/tree/rust-hir-simple-path.h | 64 + gcc/rust/hir/tree/rust-hir-stmt.cc | 104 ++ gcc/rust/hir/tree/rust-hir-stmt.h | 147 +- gcc/rust/hir/tree/rust-hir-trait-bound.h | 87 ++ .../tree/rust-hir-type-abstract.cc} | 22 +- gcc/rust/hir/tree/rust-hir-type-abstract.h | 80 + gcc/rust/hir/tree/rust-hir-type-no-bounds.h | 58 + gcc/rust/hir/tree/rust-hir-type.cc | 289 ++++ gcc/rust/hir/tree/rust-hir-type.h | 324 +--- gcc/rust/hir/tree/rust-hir-visibility.h | 80 + .../rust-hir-visitable.h} | 27 +- gcc/rust/hir/tree/rust-hir-visitor.h | 7 - gcc/rust/hir/tree/rust-hir.cc | 121 +- gcc/rust/hir/tree/rust-hir.h | 817 +--------- gcc/rust/resolve/rust-ast-resolve-item.cc | 58 +- gcc/rust/resolve/rust-ast-resolve-type.h | 35 + gcc/rust/resolve/rust-early-name-resolver.cc | 2 + gcc/rust/resolve/rust-forever-stack.h | 15 +- gcc/rust/resolve/rust-forever-stack.hxx | 59 +- gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 59 +- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 3 + gcc/rust/resolve/rust-name-resolution-context.cc | 15 +- gcc/rust/resolve/rust-name-resolution-context.h | 9 +- gcc/rust/resolve/rust-name-resolver.cc | 16 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 27 +- gcc/rust/rust-backend.h | 6 +- gcc/rust/rust-gcc.cc | 26 +- gcc/rust/rust-session-manager.cc | 3 + gcc/rust/typecheck/rust-autoderef.cc | 2 +- gcc/rust/typecheck/rust-casts.cc | 10 + gcc/rust/typecheck/rust-hir-dot-operator.cc | 181 ++- .../typecheck/rust-hir-inherent-impl-overlap.h | 2 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 5 +- gcc/rust/typecheck/rust-hir-trait-reference.h | 2 + gcc/rust/typecheck/rust-hir-trait-resolve.cc | 43 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 30 +- gcc/rust/typecheck/rust-hir-type-check-base.h | 10 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 58 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.h | 2 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 466 +++--- gcc/rust/typecheck/rust-hir-type-check-expr.h | 4 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 116 +- gcc/rust/typecheck/rust-hir-type-check-implitem.h | 14 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 111 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 53 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 73 +- gcc/rust/typecheck/rust-hir-type-check-pattern.h | 11 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 43 +- gcc/rust/typecheck/rust-hir-type-check-stmt.h | 2 +- .../typecheck/rust-hir-type-check-struct-field.h | 4 +- gcc/rust/typecheck/rust-hir-type-check-struct.cc | 50 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 469 ++++-- gcc/rust/typecheck/rust-hir-type-check-type.h | 15 +- gcc/rust/typecheck/rust-hir-type-check.cc | 68 +- gcc/rust/typecheck/rust-hir-type-check.h | 41 +- gcc/rust/typecheck/rust-type-util.cc | 5 +- gcc/rust/typecheck/rust-typecheck-context.cc | 74 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 56 +- gcc/rust/typecheck/rust-tyty-call.cc | 35 +- gcc/rust/typecheck/rust-tyty-call.h | 4 +- gcc/rust/typecheck/rust-tyty-cmp.h | 6 +- gcc/rust/typecheck/rust-tyty-subst.cc | 7 +- gcc/rust/typecheck/rust-tyty.cc | 119 +- gcc/rust/typecheck/rust-tyty.h | 101 +- gcc/rust/typecheck/rust-unify.cc | 6 +- gcc/rust/util/rust-attributes.cc | 9 + gcc/rust/util/rust-attributes.h | 6 + gcc/rust/util/rust-common.h | 1 - gcc/rust/util/rust-hir-map.cc | 43 +- gcc/rust/util/rust-hir-map.h | 24 +- gcc/rust/util/rust-lang-item.h | 2 +- gcc/rust/util/rust-stacked-contexts.h | 7 + gcc/rust/util/rust-token-converter.cc | 3 +- gcc/rust/util/rust-token-converter.h | 2 +- gcc/testsuite/rust/compile/exhaustiveness1.rs | 4 +- gcc/testsuite/rust/compile/if_let_expr.rs | 5 +- gcc/testsuite/rust/compile/if_let_expr_simple.rs | 12 + gcc/testsuite/rust/compile/iflet.rs | 32 + gcc/testsuite/rust/compile/issue-1525.rs | 4 + gcc/testsuite/rust/compile/issue-1773.rs | 23 +- gcc/testsuite/rust/compile/issue-2323.rs | 9 + gcc/testsuite/rust/compile/issue-2394.rs | 14 + gcc/testsuite/rust/compile/issue-2423.rs | 14 + gcc/testsuite/rust/compile/issue-2567-1.rs | 8 + gcc/testsuite/rust/compile/issue-2567-2.rs | 8 + gcc/testsuite/rust/compile/issue-2567-3.rs | 8 + gcc/testsuite/rust/compile/issue-266.rs | 3 + gcc/testsuite/rust/compile/issue-2905-1.rs | 27 + gcc/testsuite/rust/compile/issue-2905-2.rs | 136 ++ gcc/testsuite/rust/compile/issue-2907.rs | 33 + gcc/testsuite/rust/compile/issue-2953-1.rs | 27 + gcc/testsuite/rust/compile/issue-2953-2.rs | 37 + gcc/testsuite/rust/compile/issue-3009.rs | 24 + gcc/testsuite/rust/compile/issue-3032-1.rs | 58 + gcc/testsuite/rust/compile/issue-3032-2.rs | 49 + gcc/testsuite/rust/compile/issue-3033.rs | 144 ++ gcc/testsuite/rust/compile/issue-3231.rs | 8 + .../rust/compile/{issue-1773.rs => issue-3242.rs} | 0 gcc/testsuite/rust/compile/issue-3261.rs | 18 + gcc/testsuite/rust/compile/nr2/compile.exp | 18 +- gcc/testsuite/rust/compile/nr2/exclude | 62 +- gcc/testsuite/rust/execute/torture/iflet.rs | 84 + gcc/testsuite/rust/link/generic_function_0.rs | 3 - gcc/testsuite/rust/link/trait_import_0.rs | 3 - gcc/testsuite/rust/link/trait_import_1.rs | 3 + 195 files changed, 9237 insertions(+), 6157 deletions(-) create mode 100644 gcc/config/i386/i386-rust-and-jit.inc create mode 100644 gcc/rust/ast/rust-collect-lang-items.cc create mode 100644 gcc/rust/ast/rust-collect-lang-items.h copy gcc/rust/{checks/errors/borrowck/rust-borrow-checker.h => hir/tree/rust-hir-a [...] create mode 100644 gcc/rust/hir/tree/rust-hir-bound-abstract.h create mode 100644 gcc/rust/hir/tree/rust-hir-bound.h create mode 100644 gcc/rust/hir/tree/rust-hir-expr-abstract.h create mode 100644 gcc/rust/hir/tree/rust-hir-expr.cc create mode 100644 gcc/rust/hir/tree/rust-hir-generic-param.cc create mode 100644 gcc/rust/hir/tree/rust-hir-generic-param.h create mode 100644 gcc/rust/hir/tree/rust-hir-item.cc create mode 100644 gcc/rust/hir/tree/rust-hir-literal.h create mode 100644 gcc/rust/hir/tree/rust-hir-node.h create mode 100644 gcc/rust/hir/tree/rust-hir-path.cc create mode 100644 gcc/rust/hir/tree/rust-hir-pattern-abstract.h create mode 100644 gcc/rust/hir/tree/rust-hir-simple-path.h create mode 100644 gcc/rust/hir/tree/rust-hir-stmt.cc create mode 100644 gcc/rust/hir/tree/rust-hir-trait-bound.h copy gcc/rust/{checks/errors/rust-readonly-check.h => hir/tree/rust-hir-type-abstr [...] create mode 100644 gcc/rust/hir/tree/rust-hir-type-abstract.h create mode 100644 gcc/rust/hir/tree/rust-hir-type-no-bounds.h create mode 100644 gcc/rust/hir/tree/rust-hir-type.cc create mode 100644 gcc/rust/hir/tree/rust-hir-visibility.h copy gcc/rust/hir/{rust-ast-lower-format-args.h => tree/rust-hir-visitable.h} (67%) create mode 100644 gcc/testsuite/rust/compile/if_let_expr_simple.rs create mode 100644 gcc/testsuite/rust/compile/iflet.rs create mode 100644 gcc/testsuite/rust/compile/issue-1525.rs create mode 100644 gcc/testsuite/rust/compile/issue-2323.rs create mode 100644 gcc/testsuite/rust/compile/issue-2394.rs create mode 100644 gcc/testsuite/rust/compile/issue-2423.rs create mode 100644 gcc/testsuite/rust/compile/issue-2567-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2567-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-2567-3.rs create mode 100644 gcc/testsuite/rust/compile/issue-266.rs create mode 100644 gcc/testsuite/rust/compile/issue-2905-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2905-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-2907.rs create mode 100644 gcc/testsuite/rust/compile/issue-2953-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-2953-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3009.rs create mode 100644 gcc/testsuite/rust/compile/issue-3032-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3032-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3033.rs create mode 100644 gcc/testsuite/rust/compile/issue-3231.rs copy gcc/testsuite/rust/compile/{issue-1773.rs => issue-3242.rs} (100%) create mode 100644 gcc/testsuite/rust/compile/issue-3261.rs create mode 100644 gcc/testsuite/rust/execute/torture/iflet.rs