Looks good to me, thank you Marc! Ok for master!

Arthur

On 11/4/26 12:09 PM, Marc Poulhiès wrote:
From: Marc Poulhiès <[email protected]>

Hello,

This series contains the changes from Oct 29th to Nov 3rd:
- More intrinsics support
- Bug fixes

Tested on x86_64-linux, bootstrapped on recent and old gcc 5.
OK for master?

Marc

Arthur Cohen (2):
   gccrs: intrinsics: Fix typecheck info for prefered_align_of<T>
   gccrs: intrinsics: Add no-ops for prefetch_{read, write}_instruction

Owen Avery (1):
   gccrs: Fix fnv128 calculation

Pierre-Emmanuel Patry (7):
   gccrs: Emit extern prelude core path within builtin macros
   gccrs: Fix forever stack path string representation
   gccrs: Add opening_scope_resolution flag to most resolution functions
   gccrs: Replace additional segment vectors with UtilPath
   gccrs: Fix test canonical path
   gccrs: Throw an error when a global path starts with crate
   gccrs: Move UtilPath to Rust namespace

Sriram Raghunathan (1):
   gccrs: Remove the function_defer_statement helper.

Utkarsh Bahuguna (3):
   gccrs: Fix ICE with deep recursion in const fn
   gccrs: Fix ICE in path pattern refutability
   gccrs: Fix ICE on enum struct-variant patterns

Wesley Lewis (1):
   gccrs: error when parsing only $

Yap Zhi Heng (6):
   gccrs: Implement rust-intrinsics atomic binary operators
   gccrs: Implement rust-intrinsics atomic compare-exchange built-ins
   gccrs: Implement rust-intrinsics atomic min/max builtins
   gccrs: Implement rust-intrinsics atomic_fence builtins
   gccrs: Intrinsically compile slice index referencing
   gccrs: GitHub issues clean-up

  gcc/rust/ast/rust-ast-builder.cc              |   7 +-
  gcc/rust/ast/rust-ast-builder.h               |  15 +-
  gcc/rust/ast/rust-ast.h                       |   7 +
  gcc/rust/ast/rust-path.h                      |  12 +
  gcc/rust/backend/rust-compile-expr.cc         |  57 +-
  gcc/rust/backend/rust-compile-intrinsic.cc    | 141 ++++-
  gcc/rust/backend/rust-constexpr.cc            |   8 +-
  gcc/rust/backend/rust-intrinsic-handlers.cc   | 492 +++++++++++++-----
  gcc/rust/backend/rust-intrinsic-handlers.h    |  41 +-
  gcc/rust/expand/rust-derive-clone.cc          |   1 +
  gcc/rust/expand/rust-derive-debug.cc          |  10 +-
  gcc/rust/expand/rust-derive-default.cc        |   4 +-
  gcc/rust/expand/rust-derive-eq.cc             |   3 +-
  gcc/rust/expand/rust-derive-hash.cc           |   7 +-
  gcc/rust/expand/rust-derive-ord.cc            |  26 +-
  gcc/rust/expand/rust-expand-format-args.cc    |  21 +-
  .../hir/tree/rust-hir-pattern-abstract.cc     |  59 ++-
  gcc/rust/parse/rust-parse-impl-macro.hxx      |   6 +-
  .../resolve/rust-early-name-resolver-2.0.cc   |   9 +-
  .../resolve/rust-early-name-resolver-2.0.h    |  11 +-
  gcc/rust/resolve/rust-forever-stack.h         |  29 +-
  gcc/rust/resolve/rust-forever-stack.hxx       |  10 +-
  .../resolve/rust-late-name-resolver-2.0.cc    |   5 +-
  .../resolve/rust-name-resolution-context.h    |  66 ++-
  .../resolve/rust-name-resolution-context.hxx  |  10 +-
  gcc/rust/rust-backend.h                       |   7 -
  gcc/rust/rust-gcc.cc                          |  35 --
  .../typecheck/rust-hir-type-check-expr.cc     |  26 +-
  .../rust-hir-type-check-intrinsic.cc          | 195 ++++++-
  gcc/rust/util/fnv-hash.h                      |  18 +-
  gcc/rust/util/rust-intrinsic-values.h         |  92 ++++
  gcc/rust/util/rust-util-path.h                |  45 ++
  gcc/testsuite/rust/compile/atomic_minmax.rs   |  78 +++
  .../compile/extern_prelude_crate_keyword.rs   |   7 +
  .../irrefutable-path-single-variant.rs        |  16 +
  .../compile/irrefutable-struct-variant.rs     |  16 +
  .../compile/issues/{issue-1178.rs => 1178.rs} |   0
  .../compile/issues/{issue-2757.rs => 2757.rs} |   0
  gcc/testsuite/rust/compile/issues/2846.rs     |  10 +
  gcc/testsuite/rust/compile/issues/3540.rs     |   8 +
  gcc/testsuite/rust/compile/issues/3584.rs     |  11 +
  gcc/testsuite/rust/compile/issues/3608.rs     |   8 +
  gcc/testsuite/rust/compile/issues/3629.rs     |  11 +
  gcc/testsuite/rust/compile/issues/3641.rs     |   8 +
  gcc/testsuite/rust/compile/issues/3644.rs     |   9 +
  gcc/testsuite/rust/compile/issues/3666.rs     |  14 +
  gcc/testsuite/rust/compile/issues/3689.rs     |  10 +
  .../compile/issues/{issue-3868.rs => 3868.rs} |   0
  .../compile/issues/{issue-4152.rs => 4152.rs} |   0
  .../compile/issues/{issue-4153.rs => 4153.rs} |   0
  .../compile/issues/{issue-4668.rs => 4668.rs} |   0
  .../compile/issues/{issue-4675.rs => 4675.rs} |   0
  .../compile/issues/{issue-4709.rs => 4709.rs} |   0
  .../compile/issues/{issue-4883.rs => 4883.rs} |   0
  .../compile/issues/{issue-4885.rs => 4885.rs} |   0
  .../compile/issues/{issue-4971.rs => 4971.rs} |   0
  .../compile/issues/{issue-4973.rs => 4973.rs} |   0
  .../rust/compile/issues/issue-3949.rs         |  14 +
  .../rust/compile/issues/issue_4402_foo.rs     |   2 +-
  gcc/testsuite/rust/compile/just_dollar.rs     |   1 +
  gcc/testsuite/rust/compile/pref_align_of.rs   |   2 +-
  gcc/testsuite/rust/compile/prefetch_all.rs    |  25 +
  gcc/testsuite/rust/compile/refutable-path.rs  |  25 +-
  .../rust/compile/refutable-struct.rs          |   5 +
  .../rust/execute/torture/atomic_and.rs        | 105 ++++
  .../torture/atomic_compare_exchange.rs        | 241 +++++++++
  .../rust/execute/torture/atomic_load.rs       |   3 +
  .../rust/execute/torture/atomic_minmax.rs     | 226 ++++++++
  .../rust/execute/torture/atomic_nand.rs       | 105 ++++
  .../rust/execute/torture/atomic_or.rs         | 105 ++++
  .../rust/execute/torture/atomic_store.rs      |   3 +
  .../rust/execute/torture/atomic_xadd.rs       |  95 ++++
  .../rust/execute/torture/atomic_xor.rs        | 105 ++++
  .../rust/execute/torture/atomic_xsub.rs       |  95 ++++
  .../execute/torture/const-fn-recursion.rs     |  24 +
  .../rust/execute/torture/issue-1133.rs        |   5 +-
  .../rust/execute/torture/issue-1232.rs        |   3 +-
  .../rust/execute/torture/partial-ord-5.rs     |   2 +-
  78 files changed, 2547 insertions(+), 325 deletions(-)
  create mode 100644 gcc/rust/util/rust-util-path.h
  create mode 100644 gcc/testsuite/rust/compile/atomic_minmax.rs
  create mode 100644 gcc/testsuite/rust/compile/extern_prelude_crate_keyword.rs
  create mode 100644 
gcc/testsuite/rust/compile/irrefutable-path-single-variant.rs
  create mode 100644 gcc/testsuite/rust/compile/irrefutable-struct-variant.rs
  rename gcc/testsuite/rust/compile/issues/{issue-1178.rs => 1178.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-2757.rs => 2757.rs} (100%)
  create mode 100644 gcc/testsuite/rust/compile/issues/2846.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3540.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3584.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3608.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3629.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3641.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3644.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3666.rs
  create mode 100644 gcc/testsuite/rust/compile/issues/3689.rs
  rename gcc/testsuite/rust/compile/issues/{issue-3868.rs => 3868.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4152.rs => 4152.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4153.rs => 4153.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4668.rs => 4668.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4675.rs => 4675.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4709.rs => 4709.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4883.rs => 4883.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4885.rs => 4885.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4971.rs => 4971.rs} (100%)
  rename gcc/testsuite/rust/compile/issues/{issue-4973.rs => 4973.rs} (100%)
  create mode 100644 gcc/testsuite/rust/compile/issues/issue-3949.rs
  create mode 100644 gcc/testsuite/rust/compile/just_dollar.rs
  create mode 100644 gcc/testsuite/rust/compile/prefetch_all.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_and.rs
  create mode 100644 
gcc/testsuite/rust/execute/torture/atomic_compare_exchange.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_minmax.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_nand.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_or.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_xadd.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_xor.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/atomic_xsub.rs
  create mode 100644 gcc/testsuite/rust/execute/torture/const-fn-recursion.rs


base-commit: 04f042f50ed44c7360c840949f71fb805fc982b8

Reply via email to