This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 53ccef0387e gccrs: Adjust error checks to match name resolution 2.0 new 5d30562dcfa gccrs: Fix small FixMe task in rust macro builtins new 3c04d953096 gccrs: lang-items: Cleanup parsing and lookups of lang items. new bf6d216f818 gccrs: lang-items: Make lang items enum stronger, rename cl [...] new cac2e9715a7 gccrs: extern-types: Declare external types in name resolver. new 26e77295e77 gccrs: hir: Add ExternalTypeItem node new 07fc78500f6 gccrs: extern-types: Lower to HIR::ExternalTypeItem properly new 2509160eb12 gccrs: Make DefaultResolver visit more of the AST new 194883fba01 gccrs: ast: Add base nodes for FormatArgs new 6d8765d0719 gccrs: macro-builtins: Add newline generic format_args!() handler new d9fa4153c83 gccrs: parser: Add peek(n) method to parser new 68cb878c1da gccrs: format-args: Fix Rust interface and add input parsing. new 5151b289ad4 gccrs: lower: Add base for lowering FormatArgs nodes new 3f4374ccfaa gccrs: format-args: Add documentation for future expansion [...] new 399645909b8 gccrs: Add error emitting when we can't resolve id expr new 38aa479b033 gccrs: Add curly brackets, formatted clang new ebbf7bedbab gccrs: Ensure TupleStructPattern and TuplePattern have items new 8c642618265 gccrs: Clean BiMap to use tl::optional for lookups new 709db9bb630 gccrs: Add support for external functions new c1ccc7c098d gccrs: Add get_pattern_kind to Pattern new bbc1dfcc57f gccrs: Unify ASTValidation::visit for ExternalFunctionItem [...] new 293ac1ba615 gccrs: Update resolver to use `AST::Function` instead of `A [...] new b2a6d975722 gccrs: Remove dead code associated with `AST::ExternalFunct [...] new 240b7c88845 gccrs: Placate clang-format re 'gcc/rust/backend/rust-tree.cc' new 68ec9f41ae4 gccrs: Replace reference to unique pointer with reference new e01c9f40c13 gccrs: Replace unique_ptr references with references new f15d40d237f gccrs: macro: Use MacroInvocation's node_id in ExternalItem [...] new 5ed71ad2a2f gccrs: format-args: Add base for expanding FormatArgs nodes new 9b540c4299a gccrs: format-args: Start storing string in Rust memory new 444b41bf06c gccrs: format-args: Add basic expansion of unnamed Display: [...] new d0e8bf92395 gccrs: format-args: Add basic test case new 302ad5de079 gccrs: format-args: Only pass the format string to the parser. new 54d8f97ee17 gccrs: TyTy: add common SubstitutionRef API new d8cd08d30e0 gccrs: TyTy: Variance analysis module new a7b1a89da13 gccrs: TyTy: Collect variance info from types new 8c0b6506cb4 gccrs: Store visibility properly in ExternalTypeItem new 01c16d734b2 gccrs: Fix typo new 98e0a660e78 gccrs: Split up rust-macro-builtins.cc new 6e8b12530f1 gccrs: Placate clang-format re 'gcc/rust/lex/rust-lex.cc' new 9bf8024bbe8 gccrs: nr2.0: Add new ImmutableNameResolutionCtx class. new c3b40bc6db9 gccrs: sesh: Add late name resolution 2.0
The 40 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 | 14 + gcc/rust/ast/rust-ast-builder.cc | 66 +- gcc/rust/ast/rust-ast-builder.h | 51 +- gcc/rust/ast/rust-ast-collector.cc | 40 +- gcc/rust/ast/rust-ast-collector.h | 3 +- gcc/rust/ast/rust-ast-full-decls.h | 4 +- gcc/rust/ast/rust-ast-full.h | 1 + gcc/rust/ast/rust-ast-visitor.cc | 27 +- gcc/rust/ast/rust-ast-visitor.h | 7 +- gcc/rust/ast/rust-ast.cc | 139 ++-- gcc/rust/ast/rust-ast.h | 25 +- gcc/rust/ast/rust-builtin-ast-nodes.h | 229 ++++++ gcc/rust/ast/rust-expr.h | 302 ++++--- gcc/rust/ast/rust-fmt.cc | 45 +- gcc/rust/ast/rust-fmt.h | 62 +- gcc/rust/ast/rust-item.h | 211 ++++- gcc/rust/ast/rust-macro.h | 14 +- gcc/rust/ast/rust-path.h | 52 +- gcc/rust/ast/rust-pattern.h | 111 ++- gcc/rust/ast/rust-stmt.h | 35 +- gcc/rust/ast/rust-type.h | 34 +- gcc/rust/backend/rust-compile-expr.cc | 24 +- gcc/rust/backend/rust-compile-expr.h | 8 +- gcc/rust/backend/rust-compile-extern.h | 7 + gcc/rust/backend/rust-tree.cc | 4 +- .../errors/borrowck/rust-bir-builder-struct.h | 1 + .../errors/borrowck/rust-function-collector.h | 1 + gcc/rust/checks/errors/rust-ast-validation.cc | 83 +- gcc/rust/checks/errors/rust-ast-validation.h | 1 - gcc/rust/checks/errors/rust-const-checker.cc | 4 + gcc/rust/checks/errors/rust-const-checker.h | 1 + gcc/rust/checks/errors/rust-feature-gate.cc | 3 +- gcc/rust/checks/errors/rust-feature-gate.h | 1 - gcc/rust/checks/errors/rust-unsafe-checker.cc | 4 + gcc/rust/checks/errors/rust-unsafe-checker.h | 1 + gcc/rust/expand/rust-cfg-strip.cc | 512 ++++++------ gcc/rust/expand/rust-cfg-strip.h | 5 +- gcc/rust/expand/rust-derive.cc | 4 +- gcc/rust/expand/rust-derive.h | 4 +- gcc/rust/expand/rust-expand-format-args.cc | 138 ++++ .../rust-expand-format-args.h} | 34 +- gcc/rust/expand/rust-expand-visitor.cc | 117 ++- gcc/rust/expand/rust-expand-visitor.h | 11 +- .../rust-macro-builtins-asm.cc} | 9 +- gcc/rust/expand/rust-macro-builtins-format-args.cc | 192 +++++ gcc/rust/expand/rust-macro-builtins-helpers.cc | 284 +++++++ gcc/rust/expand/rust-macro-builtins-helpers.h | 90 +++ gcc/rust/expand/rust-macro-builtins-include.cc | 249 ++++++ gcc/rust/expand/rust-macro-builtins-location.cc | 61 ++ .../rust-macro-builtins-log-debug.cc} | 22 +- .../rust-macro-builtins-test-bench.cc} | 9 +- .../rust-macro-builtins-trait.cc} | 9 +- gcc/rust/expand/rust-macro-builtins-utility.cc | 294 +++++++ gcc/rust/expand/rust-macro-builtins.cc | 863 +-------------------- gcc/rust/expand/rust-macro-builtins.h | 85 +- gcc/rust/hir/rust-ast-lower-base.cc | 85 +- gcc/rust/hir/rust-ast-lower-base.h | 12 +- gcc/rust/hir/rust-ast-lower-block.h | 42 +- gcc/rust/hir/rust-ast-lower-enumitem.h | 8 +- gcc/rust/hir/rust-ast-lower-expr.cc | 139 ++-- gcc/rust/hir/rust-ast-lower-expr.h | 14 +- gcc/rust/hir/rust-ast-lower-extern.h | 43 +- .../rust-ast-lower-format-args.cc} | 32 +- .../rust-ast-lower-format-args.h} | 24 +- gcc/rust/hir/rust-ast-lower-implitem.cc | 47 +- gcc/rust/hir/rust-ast-lower-implitem.h | 4 +- gcc/rust/hir/rust-ast-lower-item.cc | 68 +- gcc/rust/hir/rust-ast-lower-item.h | 2 +- gcc/rust/hir/rust-ast-lower-pattern.cc | 54 +- gcc/rust/hir/rust-ast-lower-pattern.h | 2 +- gcc/rust/hir/rust-ast-lower-stmt.cc | 30 +- gcc/rust/hir/rust-ast-lower-struct-field-expr.h | 6 +- gcc/rust/hir/rust-ast-lower-type.cc | 67 +- gcc/rust/hir/rust-ast-lower-type.h | 6 +- gcc/rust/hir/rust-ast-lower.cc | 70 +- gcc/rust/hir/rust-hir-dump.cc | 10 + gcc/rust/hir/rust-hir-dump.h | 1 + gcc/rust/hir/tree/rust-hir-full-decls.h | 1 + gcc/rust/hir/tree/rust-hir-item.h | 45 +- gcc/rust/hir/tree/rust-hir-visitor.h | 3 + gcc/rust/hir/tree/rust-hir.cc | 25 + gcc/rust/lex/rust-lex.cc | 3 +- gcc/rust/metadata/rust-export-metadata.cc | 41 +- gcc/rust/parse/rust-parse-impl.h | 88 +-- gcc/rust/parse/rust-parse.h | 6 +- gcc/rust/resolve/rust-ast-resolve-base.cc | 10 +- gcc/rust/resolve/rust-ast-resolve-base.h | 4 +- gcc/rust/resolve/rust-ast-resolve-expr.cc | 160 ++-- gcc/rust/resolve/rust-ast-resolve-expr.h | 2 +- gcc/rust/resolve/rust-ast-resolve-implitem.h | 33 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 226 +++--- gcc/rust/resolve/rust-ast-resolve-item.h | 12 +- gcc/rust/resolve/rust-ast-resolve-path.cc | 38 +- gcc/rust/resolve/rust-ast-resolve-path.h | 12 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 65 +- gcc/rust/resolve/rust-ast-resolve-pattern.h | 4 +- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 17 +- gcc/rust/resolve/rust-ast-resolve-stmt.h | 71 +- .../resolve/rust-ast-resolve-struct-expr-field.cc | 10 +- .../resolve/rust-ast-resolve-struct-expr-field.h | 2 +- gcc/rust/resolve/rust-ast-resolve-toplevel.h | 26 +- gcc/rust/resolve/rust-ast-resolve-type.cc | 47 +- gcc/rust/resolve/rust-ast-resolve-type.h | 36 +- gcc/rust/resolve/rust-ast-resolve.cc | 9 +- gcc/rust/resolve/rust-default-resolver.cc | 138 +++- gcc/rust/resolve/rust-default-resolver.h | 1 - gcc/rust/resolve/rust-early-name-resolver.cc | 40 +- .../rust-immutable-name-resolution-context.cc} | 41 +- .../rust-immutable-name-resolution-context.h | 55 ++ gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 16 +- .../resolve/rust-toplevel-name-resolver-2.0.cc | 6 +- gcc/rust/rust-session-manager.cc | 17 +- gcc/rust/rust-session-manager.h | 3 +- gcc/rust/typecheck/rust-autoderef.cc | 22 +- gcc/rust/typecheck/rust-autoderef.h | 5 +- gcc/rust/typecheck/rust-hir-type-bounds.h | 2 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 3 +- gcc/rust/typecheck/rust-hir-type-check-base.h | 5 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 72 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 7 +- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 129 +++ gcc/rust/typecheck/rust-hir-type-check-implitem.h | 1 + gcc/rust/typecheck/rust-hir-type-check-item.cc | 17 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 3 +- gcc/rust/typecheck/rust-hir-type-check.h | 6 + gcc/rust/typecheck/rust-typecheck-context.cc | 6 + gcc/rust/typecheck/rust-tyty-bounds.cc | 12 +- gcc/rust/typecheck/rust-tyty-subst.cc | 11 + .../rust-tyty-variance-analysis-private.h | 304 ++++++++ gcc/rust/typecheck/rust-tyty-variance-analysis.cc | 541 +++++++++++++ gcc/rust/typecheck/rust-tyty-variance-analysis.h | 114 +++ gcc/rust/typecheck/rust-tyty.cc | 5 +- gcc/rust/util/bi-map.h | 22 +- gcc/rust/util/rust-attributes.cc | 4 - gcc/rust/util/rust-attributes.h | 1 - gcc/rust/util/rust-hir-map.cc | 9 +- gcc/rust/util/rust-hir-map.h | 13 +- gcc/rust/util/rust-lang-item.cc | 185 +++++ gcc/rust/util/rust-lang-item.h | 525 +------------ gcc/rust/util/rust-token-converter.cc | 5 +- .../rust/compile/extern_func_with_body.rs | 5 + .../rust/compile/format_args_basic_expansion.rs | 47 ++ gcc/testsuite/rust/compile/pattern-struct.rs | 2 +- libgrust/libformat_parser/src/bin.rs | 5 +- libgrust/libformat_parser/src/lib.rs | 124 ++- 145 files changed, 5526 insertions(+), 3372 deletions(-) create mode 100644 gcc/rust/ast/rust-builtin-ast-nodes.h create mode 100644 gcc/rust/expand/rust-expand-format-args.cc copy gcc/rust/{util/rust-abi.h => expand/rust-expand-format-args.h} (65%) copy gcc/rust/{ast/rust-macro.cc => expand/rust-macro-builtins-asm.cc} (87%) create mode 100644 gcc/rust/expand/rust-macro-builtins-format-args.cc create mode 100644 gcc/rust/expand/rust-macro-builtins-helpers.cc create mode 100644 gcc/rust/expand/rust-macro-builtins-helpers.h create mode 100644 gcc/rust/expand/rust-macro-builtins-include.cc create mode 100644 gcc/rust/expand/rust-macro-builtins-location.cc copy gcc/rust/{util/rust-make-unique.h => expand/rust-macro-builtins-log-debug.cc} (71%) copy gcc/rust/{ast/rust-macro.cc => expand/rust-macro-builtins-test-bench.cc} (87%) copy gcc/rust/{ast/rust-macro.cc => expand/rust-macro-builtins-trait.cc} (87%) create mode 100644 gcc/rust/expand/rust-macro-builtins-utility.cc copy gcc/rust/{checks/errors/borrowck/rust-borrow-checker.h => hir/rust-ast-lower- [...] copy gcc/rust/{backend/rust-compile-intrinsic.h => hir/rust-ast-lower-format-args. [...] copy gcc/rust/{ast/rust-fmt.cc => resolve/rust-immutable-name-resolution-context.c [...] create mode 100644 gcc/rust/resolve/rust-immutable-name-resolution-context.h create mode 100644 gcc/rust/typecheck/rust-tyty-variance-analysis-private.h create mode 100644 gcc/rust/typecheck/rust-tyty-variance-analysis.cc create mode 100644 gcc/rust/typecheck/rust-tyty-variance-analysis.h create mode 100644 gcc/rust/util/rust-lang-item.cc create mode 100644 gcc/testsuite/rust/compile/extern_func_with_body.rs create mode 100644 gcc/testsuite/rust/compile/format_args_basic_expansion.rs