This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 44f71ed313d gccrs: Initial implementation of v0 mangling new 80199b328cb gccrs: Change debug log call to as_string function new 12650695701 gccrs: Fix type param bound parsing with opening scope new b2ad5eae79a gccrs: Add a regression test for global path parsing new 47b88c03385 gccrs: TyTy: TyTy improved subclass casting and checking new f97a9841dc6 gccrs: TyTy: use new subclass API new f209a01840a gccrs: Fix pub unit type parsing new 378c26f5a34 gccrs: Add regression test new 863431f5a0a gccrs: Add comma for expr delimiter to fix match arms new 4c835425d05 gccrs: Add regression test new 292aec084c9 gccrs: Replace get_pattern_node_id with get_node_id new 061c5d2e248 gccrs: Fix path expr segment parsing with generic path new 10af70269c8 gccrs: Add a new regression test new 1e039d2f848 gccrs: Allow call to macro named "default" at item level new c7eb1002c61 gccrs: Add a new regression test for macro call "default" new dff99b7464f gccrs: Fix RangeFromExpr parsing in for loops new c53cef37b80 gccrs: Add a new regression test new 3d43c98bf85 gccrs: Add new regression test new 68a8a550372 gccrs: Allow macro named macro_rules new 46c84b78055 gccrs: Add new regression test new 1e841fd6046 gccrs: Add a new test for mbe named macro_rules new 3c3e05ad03b gccrs: Add path to macro fragment follow restrictions new 2dfff621d9f gccrs: Add new regression test for macro matcher behavior new 906e55530a3 gccrs: Break OR tokens in closure parameter list context new 05ddae991b2 gccrs: Add new test for closure in closure parsing new f2900e86b98 gccrs: Add tests for v0 mangling new 9e7e3ea6380 gccrs: Create base class AssociatedItem new 3b1d27f7872 gccrs: ast: Parse labelled block new a66df6197e8 gccrs: hir: Lower labelled block new b195d61877e gccrs: resolve: Resolve labelled block new 1f40ed03c56 gccrs: typecheck: add loop ctx for labelled block new 4331ce6917a gccrs: compile: bail on labelled block new 124bfaf4323 gccrs: Make lowering of AssociatedItem instances polymorphic new 2854b1204f2 gccrs: Make resolution of AssociatedItem instances polymorphic new 2c8bc81cf8b gccrs: hir: Refactor - avoid copy in getter new 259d3bd58d8 gccrs: ast: Handle tuplestruct pattern with indices new 60a0729b2a0 gccrs: hir: Add missing getter new a45f93039ad gccrs: hir: Rename get_pattern_mappings method new 68397d0c9ba gccrs: hir: Rename ComoundAssignment getters new d3f0867e712 gccrs: hir: Avoid copy in getter (PathPattern) new 91732258ced gccrs: Parse const with no value expression new 973e962ee5c gccrs: Add a new regression test for issue 2665 new b37170179b5 gccrs: Fix warning with overridden virtual methods new 3b51f04f140 gccrs: borrowck: Add initial structure for borrowchecking new 206fc6de982 gccrs: borrowck: Add CLI option for borrowck new 2f6161e47fb gccrs: borrowck: Execute only with CLI flag new dbd29204ef8 gccrs: borrowck: Create Borrow-checker IR (BIR) new f88934b5c85 gccrs: borrowck: Create BIR builders (visitors) new db6d4bac68e gccrs: borrowck: BIR dump new 47bd9c95ceb gccrs: borrowck: Dump: proper comma separation new 308e34c8feb gccrs: borrowck: Dump: simplify cfg new acfc1f31af8 gccrs: borrowck: Dump improve jumps new 028b9c2f68b gccrs: borrowck: BIR: handle break new 4c65919e19c gccrs: borrowck: Dump: handle infinite loops new de90d4b5315 gccrs: borrowck: BIR continue new 7f937bb70b1 gccrs: borrowck: Make goto explicit. new 20d6f601555 gccrs: borrowck: Docs new ea90f52b9a3 gccrs: borrowck: Dev notes new 32dcd3ec991 gccrs: borrowck: Refactor and BIR improvements new ce7688d7b0c gccrs: Make proc macro definition cdecl new 193b0780d55 gccrs: Change ABI setup and add gccrs_proc_macro attr new 2d2fa103e12 gccrs: Add const getter for tokentrees new f915a3fe902 gccrs: Add containers for proc macro collection mappings new 4ec72feab8a gccrs: Reformat comments new 4a2bd838252 gccrs: Collect procedural macros in the crate new d1e2f3dfbb6 gccrs: Add getters for proc macro mappings new 150403984d8 gccrs: Add utility function to build proc macro types new 9e30e140bea gccrs: Change proc macro entrypoint new 10699fb34a2 gccrs: Add an explicit value to proc macro enum kind new c0a7f3e67a4 gccrs: Add macro buffer global variable export new 4ad869fadaf gccrs: Put common functions in their own namespace new 068bdc3c614 gccrs: Add array length to the proc macro buffer new 0f04ac6eecd gccrs: Move proc macro builders to their own file new 3a874d936b2 gccrs: Document proc macro token tree indices new da87ef4d692 gccrs: Compile pattern match statements into conditional st [...] new f61184ee8cb gccrs: HIR: fix typo new 80bdb1a85ac gccrs: HIR: remove obsole double borrow member new 311121156e2 gccrs: Fix token lexed as a float literal new f522eefcfd1 gccrs: Add regression test for float literal tuple indices new 74ef5529c81 gccrs: Add missing override specifier new 55bfecc95a5 gccrs: Move SingleASTNode implementation out of header new d430d0bac3e gccrs: Add more checks for expr value in early visitors new f24d4083424 gccrs: Add ast validation checker new cdf2cd9af47 gccrs: Add two new steps to compile process new 3fa7df68859 gccrs: Add call to ast validation checker new cb9ecb5596e gccrs: Emit an error on associated const without values new 863174590a3 gccrs: Small fix to the ast collector visitor new 7065e2dbfee gccrs: Add some reference getter new 5a9c2732d5d gccrs: Add a default AST visitor new ddcd4c96757 gccrs: Add a new visitor that gathers context information new 222f27d3ac1 gccrs: Make use of the Contextual visitor in validation new 59bd1fc1a44 gccrs: Add a new test for const without body new f1cca5671f9 gccrs: Change FunctionParam to represent variadic params new 6ac7d47338b gccrs: Parse variadic functions new 41f480d16d3 gccrs: Add a function to check if a function is variadic new df4e37c7dcf gccrs: Allow variadic NamedFunctionParam new 2272cfb53e0 gccrs: Fix multiple issues with variadic representation new 39308ab20e1 gccrs: Add a new regression test new 88e327fa079 gccrs: Parse named variadic parameters new 8e3740a25ee gccrs: Add a new regression test for named variadics new 0df14bb1f3d gccrs: Add named variadic argument test new 6b8365a990d gccrs: Replace AST::Method with existing AST::Function new ea4cd6453d3 gccrs: Add lifetime name validation pass new ff82ac55416 gccrs: Add regression test for lifetime name validation new 65de922f9bd gccrs: Add licence text and change header guard name new 0344e23236c gccrs: Add new keyword utility class new 8f41baaa832 gccrs: Replace local keyword set with the utils new e50b0969b8e gccrs: Change keyword set to a map new b52651427be gccrs: Use keyword const values instead of raw values new ea59190d546 gccrs: Use a loop label in break expression new 93ca83c5efd gccrs: Add validation pass for label name new 66fc33f6657 gccrs: Change error location for LoopLabel new 119e0be8b6e gccrs: Add regression test for invalid label name new c1d722aa6f0 gccrs: Add trait context to ContextualASTVisitor new e92ae55feab gccrs: Add multiple check on variadics position new bbb2472501f gccrs: Add new test for invalid variadics new 513b0154ab1 gccrs: Rework function special parameters new 32f16cac2d3 gccrs: Move templated functions to header file new 4011a8b5a16 gccrs: Move default visitor templates to header new 4bd9f1159ba gccrs: v0-mangle closures new 348f028fc29 gccrs: Fix float lexing and tuple index disambiguation new 4e554b0ddea gccrs: Add a new test for float disambiguation new e621b174d7c gccrs: Adjust item kind enums for TupleStructItems and Tupl [...]
The 122 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 | 13 + gcc/rust/ast/rust-ast-builder.cc | 5 +- gcc/rust/ast/rust-ast-collector.cc | 177 +-- gcc/rust/ast/rust-ast-collector.h | 54 +- gcc/rust/ast/rust-ast-full-decls.h | 1 - gcc/rust/ast/rust-ast-visitor.cc | 1472 ++++++++++++++++++++ gcc/rust/ast/rust-ast-visitor.h | 252 +++- gcc/rust/ast/rust-ast.cc | 414 ++++-- gcc/rust/ast/rust-ast.h | 413 +++--- gcc/rust/ast/rust-expr.h | 89 +- gcc/rust/ast/rust-item.h | 848 ++++------- gcc/rust/ast/rust-macro.h | 15 +- gcc/rust/ast/rust-path.h | 6 +- gcc/rust/ast/rust-pattern.h | 46 +- gcc/rust/backend/rust-compile-base.cc | 144 +- gcc/rust/backend/rust-compile-base.h | 23 +- gcc/rust/backend/rust-compile-context.h | 33 + gcc/rust/backend/rust-compile-expr.cc | 514 +------ gcc/rust/backend/rust-compile-pattern.cc | 361 ++++- gcc/rust/backend/rust-compile-pattern.h | 45 +- gcc/rust/backend/rust-compile-proc-macro.cc | 393 ++++++ gcc/rust/backend/rust-compile-stmt.cc | 2 +- gcc/rust/backend/rust-compile-type.cc | 7 +- gcc/rust/backend/rust-compile-var-decl.h | 2 +- gcc/rust/backend/rust-compile.cc | 5 + gcc/rust/backend/rust-compile.h | 2 + gcc/rust/backend/rust-mangle.cc | 74 +- .../checks/errors/borrowck/bir-design-notes.md | 188 +++ gcc/rust/checks/errors/borrowck/dev-notes.md | 40 + .../errors/borrowck/rust-bir-builder-expr-stmt.cc | 666 +++++++++ .../errors/borrowck/rust-bir-builder-expr-stmt.h | 160 +++ .../errors/borrowck/rust-bir-builder-internal.h | 484 +++++++ .../borrowck/rust-bir-builder-lazyboolexpr.h | 241 ++++ .../errors/borrowck/rust-bir-builder-pattern.h | 306 ++++ .../errors/borrowck/rust-bir-builder-struct.h | 270 ++++ gcc/rust/checks/errors/borrowck/rust-bir-builder.h | 94 ++ gcc/rust/checks/errors/borrowck/rust-bir-dump.cc | 342 +++++ gcc/rust/checks/errors/borrowck/rust-bir-dump.h | 68 + gcc/rust/checks/errors/borrowck/rust-bir-place.h | 281 ++++ gcc/rust/checks/errors/borrowck/rust-bir-visitor.h | 62 + gcc/rust/checks/errors/borrowck/rust-bir.h | 200 +++ .../checks/errors/borrowck/rust-borrow-checker.cc | 99 ++ .../errors/borrowck/rust-borrow-checker.h} | 28 +- .../errors/borrowck/rust-function-collector.h | 199 +++ .../checks/errors/privacy/rust-privacy-reporter.cc | 4 +- gcc/rust/checks/errors/rust-ast-validation.cc | 99 ++ .../errors/rust-ast-validation.h} | 37 +- gcc/rust/checks/errors/rust-const-checker.cc | 4 +- gcc/rust/checks/errors/rust-feature-gate.cc | 6 - gcc/rust/checks/errors/rust-feature-gate.h | 4 +- gcc/rust/checks/errors/rust-unsafe-checker.cc | 4 +- gcc/rust/expand/rust-cfg-strip.cc | 163 +-- gcc/rust/expand/rust-cfg-strip.h | 8 +- gcc/rust/expand/rust-derive-clone.cc | 19 +- gcc/rust/expand/rust-derive.h | 4 +- gcc/rust/expand/rust-expand-visitor.cc | 71 +- gcc/rust/expand/rust-expand-visitor.h | 8 +- gcc/rust/expand/rust-macro-invoc-lexer.cc | 16 + gcc/rust/expand/rust-macro-invoc-lexer.h | 2 + gcc/rust/expand/rust-proc-macro-invoc-lexer.cc | 15 + gcc/rust/expand/rust-proc-macro-invoc-lexer.h | 2 + gcc/rust/expand/rust-proc-macro.cc | 18 +- gcc/rust/expand/rust-proc-macro.h | 3 + gcc/rust/hir/rust-ast-lower-base.cc | 40 +- gcc/rust/hir/rust-ast-lower-base.h | 6 +- gcc/rust/hir/rust-ast-lower-expr.cc | 9 +- gcc/rust/hir/rust-ast-lower-extern.h | 15 +- gcc/rust/hir/rust-ast-lower-implitem.h | 175 +-- gcc/rust/hir/rust-ast-lower-item.cc | 15 +- gcc/rust/hir/rust-ast-lower-pattern.cc | 22 +- gcc/rust/hir/rust-ast-lower.cc | 6 +- gcc/rust/hir/rust-hir-dump.cc | 19 +- gcc/rust/hir/tree/rust-hir-expr.h | 79 +- gcc/rust/hir/tree/rust-hir-path.h | 10 +- gcc/rust/hir/tree/rust-hir-pattern.h | 42 +- gcc/rust/hir/tree/rust-hir.cc | 5 - gcc/rust/hir/tree/rust-hir.h | 2 +- gcc/rust/lang.opt | 31 +- gcc/rust/lex/rust-lex.cc | 40 +- gcc/rust/lex/rust-lex.h | 2 + gcc/rust/lex/rust-token.cc | 2 + gcc/rust/metadata/rust-export-metadata.cc | 28 +- gcc/rust/parse/rust-parse-impl.h | 707 +++++----- gcc/rust/parse/rust-parse.h | 49 +- gcc/rust/resolve/rust-ast-resolve-base.cc | 16 +- gcc/rust/resolve/rust-ast-resolve-base.h | 4 +- gcc/rust/resolve/rust-ast-resolve-expr.cc | 26 +- gcc/rust/resolve/rust-ast-resolve-implitem.h | 29 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 268 ++-- gcc/rust/resolve/rust-ast-resolve-item.h | 11 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 9 +- gcc/rust/resolve/rust-ast-resolve-stmt.h | 26 +- gcc/rust/resolve/rust-default-resolver.cc | 50 +- gcc/rust/resolve/rust-default-resolver.h | 4 +- gcc/rust/resolve/rust-early-name-resolver.cc | 62 +- gcc/rust/resolve/rust-early-name-resolver.h | 5 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 8 - gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 1 - gcc/rust/rust-session-manager.cc | 26 +- gcc/rust/rust-session-manager.h | 5 + gcc/rust/rust-system.h | 1 + gcc/rust/typecheck/rust-hir-type-check-expr.cc | 28 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 49 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 11 +- gcc/rust/typecheck/rust-tyty.cc | 618 ++++---- gcc/rust/typecheck/rust-tyty.h | 118 ++ gcc/rust/util/rust-attribute-values.h | 24 +- gcc/rust/util/rust-attributes.cc | 18 +- gcc/rust/util/rust-attributes.h | 4 +- gcc/rust/util/rust-hir-map.cc | 4 +- .../{rust-punycode.h => rust-keyword-values.cc} | 46 +- .../{rust-punycode.h => rust-keyword-values.h} | 45 +- gcc/rust/util/rust-mapping-common.h | 4 +- gcc/testsuite/rust/compile/closure_in_closure.rs | 8 + .../rust/compile/extern_c_named_variadic.rs | 5 + gcc/testsuite/rust/compile/invalid_label_name.rs | 23 + gcc/testsuite/rust/compile/invalid_variadics.rs | 6 + gcc/testsuite/rust/compile/issue-2665.rs | 6 + gcc/testsuite/rust/compile/issue-2709.rs | 8 + .../rust/compile/lifetime_name_validation.rs | 6 + gcc/testsuite/rust/compile/macro-issue2653.rs | 5 + gcc/testsuite/rust/compile/macro57.rs | 13 + .../rust/compile/macro_rules_macro_rules.rs | 10 + gcc/testsuite/rust/compile/match_break.rs | 14 + .../compile/not_a_float_literal_tuple_index.rs | 3 + .../rust/compile/parse_generic_path_expr.rs | 4 + .../rust/compile/parse_global_path_generic.rs | 4 + .../rust/compile/parse_item_default_macro.rs | 8 + gcc/testsuite/rust/compile/parse_pub_unit_type.rs | 1 + .../rust/compile/parse_variadic_function.rs | 4 + gcc/testsuite/rust/compile/pattern_variadic.rs | 14 + .../rust/compile/range_from_expr_for_loop.rs | 7 + gcc/testsuite/rust/compile/tuple_float_index.rs | 6 + .../rust/compile/tupple_struct_pattern_tuple.rs | 4 + gcc/testsuite/rust/compile/v0-mangle1.rs | 70 + .../torture/closure1.rs => compile/v0-mangle2.rs} | 12 +- gcc/testsuite/rust/compile/while_break_expr.rs | 3 + .../rust/execute/torture/named_variadic.rs | 20 + libgrust/libproc_macro_internal/proc_macro.h | 2 +- 139 files changed, 9482 insertions(+), 3233 deletions(-) create mode 100644 gcc/rust/ast/rust-ast-visitor.cc create mode 100644 gcc/rust/backend/rust-compile-proc-macro.cc create mode 100644 gcc/rust/checks/errors/borrowck/bir-design-notes.md create mode 100644 gcc/rust/checks/errors/borrowck/dev-notes.md create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.cc create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-internal.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-pattern.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-builder.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-dump.cc create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-dump.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-place.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir-visitor.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-bir.h create mode 100644 gcc/rust/checks/errors/borrowck/rust-borrow-checker.cc copy gcc/rust/{backend/rust-compile-intrinsic.h => checks/errors/borrowck/rust-bor [...] create mode 100644 gcc/rust/checks/errors/borrowck/rust-function-collector.h create mode 100644 gcc/rust/checks/errors/rust-ast-validation.cc copy gcc/rust/{util/rust-punycode.h => checks/errors/rust-ast-validation.h} (55%) copy gcc/rust/util/{rust-punycode.h => rust-keyword-values.cc} (60%) copy gcc/rust/util/{rust-punycode.h => rust-keyword-values.h} (60%) create mode 100644 gcc/testsuite/rust/compile/closure_in_closure.rs create mode 100644 gcc/testsuite/rust/compile/extern_c_named_variadic.rs create mode 100644 gcc/testsuite/rust/compile/invalid_label_name.rs create mode 100644 gcc/testsuite/rust/compile/invalid_variadics.rs create mode 100644 gcc/testsuite/rust/compile/issue-2665.rs create mode 100644 gcc/testsuite/rust/compile/issue-2709.rs create mode 100644 gcc/testsuite/rust/compile/lifetime_name_validation.rs create mode 100644 gcc/testsuite/rust/compile/macro-issue2653.rs create mode 100644 gcc/testsuite/rust/compile/macro57.rs create mode 100644 gcc/testsuite/rust/compile/macro_rules_macro_rules.rs create mode 100644 gcc/testsuite/rust/compile/match_break.rs create mode 100644 gcc/testsuite/rust/compile/not_a_float_literal_tuple_index.rs create mode 100644 gcc/testsuite/rust/compile/parse_generic_path_expr.rs create mode 100644 gcc/testsuite/rust/compile/parse_global_path_generic.rs create mode 100644 gcc/testsuite/rust/compile/parse_item_default_macro.rs create mode 100644 gcc/testsuite/rust/compile/parse_pub_unit_type.rs create mode 100644 gcc/testsuite/rust/compile/parse_variadic_function.rs create mode 100644 gcc/testsuite/rust/compile/pattern_variadic.rs create mode 100644 gcc/testsuite/rust/compile/range_from_expr_for_loop.rs create mode 100644 gcc/testsuite/rust/compile/tuple_float_index.rs create mode 100644 gcc/testsuite/rust/compile/tupple_struct_pattern_tuple.rs create mode 100644 gcc/testsuite/rust/compile/v0-mangle1.rs copy gcc/testsuite/rust/{execute/torture/closure1.rs => compile/v0-mangle2.rs} (60%) create mode 100644 gcc/testsuite/rust/compile/while_break_expr.rs create mode 100644 gcc/testsuite/rust/execute/torture/named_variadic.rs