From: Marc Poulhiès <[email protected]>

Hello,

This series contains changes from Nov 4th to Nov 10th:

- better derive CoercePointee support 
- more intrinsic work
- internal Path refactoring
- bug fixes

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

Marc

Arthur Cohen (3):
  gccrs: coerce-pointee: Make field count check correct
  gccrs: intrinsics: Add basic support for nontemporal_store
  gccrs: intrinsics: Add ptr_offset_from<T>

Ata Borla (1):
  gccrs: changing NULL to nullptr

Owen Avery (1):
  gccrs: Fix linemap filename lifetimes

Pierre-Emmanuel Patry (7):
  gccrs: Add a path class to group path specific components
  gccrs: Remove PathUtil class
  gccrs: Make HIR PathPattern inherit from RawPath
  gccrs: Use RawPath with PathInExpression
  gccrs: Use RawPath for TypePath
  gccrs: Use RawPath for ResolutionPath input
  gccrs: Move rust-raw-path to utils directory

Utkarsh Bahuguna (7):
  gccrs: Don't crash on error types during type checking
  gccrs: Fix projections to generic associated types
  gccrs: Number asm! operands the way gcc expects
  gccrs: Hold the parent predicate by pointer in TypeBoundPredicateItem
  gccrs: Reuse an impl's self type when probing methods
  gccrs: Add a test that diffs the diagnostics of compiling core
  gccrs: Check exhaustiveness of unit variant patterns

Wesley Lewis (3):
  gccrs: Validate repr(transparent) for derive CoercePointee
  gccrs: validation check for minimum number of fields for struct with
    derive CoercePointee
  gccrs: validation check for CoercePointee structs to have atleast one
    non-generic typed field

Yap Zhi Heng (1):
  gccrs: Declare Rust::Compile::handlers::inner functions as static

 gcc/rust/ast/rust-ast-builder.cc              |   2 +-
 gcc/rust/ast/rust-ast-collector.cc            |   4 +-
 gcc/rust/ast/rust-ast.h                       |  41 +-----
 gcc/rust/ast/rust-item.h                      |   6 +
 gcc/rust/ast/rust-path.cc                     |  12 +-
 gcc/rust/ast/rust-path.h                      |  96 ++++---------
 gcc/rust/backend/rust-compile-intrinsic.cc    |   2 +
 .../backend/rust-compile-struct-field-expr.cc |   4 +-
 gcc/rust/backend/rust-intrinsic-handlers.cc   | 103 ++++++++++++--
 gcc/rust/backend/rust-intrinsic-handlers.h    |  26 +---
 .../errors/rust-hir-pattern-analysis.cc       |  26 +++-
 gcc/rust/expand/rust-derive-clone.cc          |  10 +-
 gcc/rust/expand/rust-derive-coerce-pointee.cc | 129 +++++++++++++++++-
 gcc/rust/expand/rust-derive-coerce-pointee.h  |  15 +-
 gcc/rust/expand/rust-macro-builtins-asm.cc    |  62 ++++++++-
 .../expand/rust-macro-builtins-include.cc     |   3 +-
 gcc/rust/hir/rust-ast-lower-expr.cc           |   7 +-
 gcc/rust/hir/rust-ast-lower-type.cc           |   8 +-
 gcc/rust/hir/rust-ast-lower.cc                |  15 +-
 gcc/rust/hir/rust-hir-dump.cc                 |   4 +-
 gcc/rust/hir/tree/rust-hir-path.cc            |  37 ++---
 gcc/rust/hir/tree/rust-hir-path.h             |  66 ++++-----
 gcc/rust/hir/tree/rust-hir.cc                 |   6 +-
 gcc/rust/lex/rust-lex.cc                      |   4 +-
 .../resolve/rust-early-name-resolver-2.0.cc   |   9 +-
 .../resolve/rust-early-name-resolver-2.0.h    |  12 +-
 gcc/rust/resolve/rust-forever-stack.h         |  51 ++++---
 gcc/rust/resolve/rust-forever-stack.hxx       |   9 +-
 .../resolve/rust-late-name-resolver-2.0.cc    |   5 +-
 .../resolve/rust-name-resolution-context.h    |  62 ++-------
 .../resolve/rust-name-resolution-context.hxx  |  14 +-
 gcc/rust/rust-error-codes.def                 |   3 +-
 gcc/rust/rust-linemap.cc                      |   6 +-
 gcc/rust/rust-session-manager.h               |  13 --
 gcc/rust/typecheck/rust-hir-dot-operator.cc   |  12 +-
 gcc/rust/typecheck/rust-hir-dot-operator.h    |   2 +
 .../typecheck/rust-hir-path-probe-expr.cc     |   2 +-
 gcc/rust/typecheck/rust-hir-trait-resolve.cc  |   8 ++
 .../typecheck/rust-hir-type-check-expr.cc     |  30 +++-
 .../rust-hir-type-check-intrinsic.cc          |   8 ++
 .../typecheck/rust-hir-type-check-item.cc     |  35 +++--
 .../typecheck/rust-hir-type-check-struct.cc   |   4 +-
 .../typecheck/rust-hir-type-check-type.cc     |   8 +-
 gcc/rust/typecheck/rust-type-util.cc          |  12 +-
 gcc/rust/typecheck/rust-tyty-bounds.cc        |  32 ++---
 gcc/rust/typecheck/rust-tyty.h                |  10 +-
 gcc/rust/util/rust-attribute-values.h         |   1 +
 gcc/rust/util/rust-intrinsic-values.h         |   4 +
 gcc/rust/util/rust-raw-path.h                 |  64 +++++++++
 gcc/rust/util/rust-util-path.h                |  45 ------
 .../rust/compile/derive-coerce-pointee1.rs    |   1 +
 .../rust/compile/derive-coerce-pointee2.rs    |   1 +
 .../rust/compile/derive-coerce-pointee3.rs    |   1 +
 .../rust/compile/derive-coerce-pointee4.rs    |  17 +++
 .../rust/compile/derive-coerce-pointee5.rs    |  23 ++++
 .../rust/compile/derive-coerce-pointee6.rs    |  41 ++++++
 .../rust/compile/derive-coerce-pointee7.rs    |  27 ++++
 .../rust/compile/exhaustiveness10.rs          |  24 ++++
 gcc/testsuite/rust/compile/exhaustiveness9.rs |  70 ++++++++++
 gcc/testsuite/rust/compile/issues/3726.rs     |   4 +-
 gcc/testsuite/rust/compile/issues/4165.rs     |   1 -
 .../rust/compile/issues/issue-2311.rs         |  19 +++
 .../rust/compile/issues/issue-5022-2.rs       |  57 ++++++++
 .../rust/compile/issues/issue-5022.rs         |  51 +++++++
 .../rust/compile/issues/issue-5039-2.rs       |  14 ++
 .../rust/compile/issues/issue-5039.rs         |  25 ++++
 .../rust/compile/issues/issue-5057-2.rs       |  19 +++
 .../rust/compile/nontemporal_store.rs         |  19 +++
 gcc/testsuite/rust/core/core-1.49.expected    |  10 ++
 gcc/testsuite/rust/core/core-diagnostics.exp  |  71 ++++++++++
 .../rust/execute/torture/issue-5022.rs        |  30 ++++
 .../rust/execute/torture/issue-5057.rs        |  27 ++++
 .../rust/execute/torture/ptr_offset_from.rs   |  30 ++++
 73 files changed, 1257 insertions(+), 474 deletions(-)
 create mode 100644 gcc/rust/util/rust-raw-path.h
 delete mode 100644 gcc/rust/util/rust-util-path.h
 create mode 100644 gcc/testsuite/rust/compile/derive-coerce-pointee4.rs
 create mode 100644 gcc/testsuite/rust/compile/derive-coerce-pointee5.rs
 create mode 100644 gcc/testsuite/rust/compile/derive-coerce-pointee6.rs
 create mode 100644 gcc/testsuite/rust/compile/derive-coerce-pointee7.rs
 create mode 100644 gcc/testsuite/rust/compile/exhaustiveness10.rs
 create mode 100644 gcc/testsuite/rust/compile/exhaustiveness9.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-2311.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-5022-2.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-5022.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-5039-2.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-5039.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-5057-2.rs
 create mode 100644 gcc/testsuite/rust/compile/nontemporal_store.rs
 create mode 100644 gcc/testsuite/rust/core/core-1.49.expected
 create mode 100644 gcc/testsuite/rust/core/core-diagnostics.exp
 create mode 100644 gcc/testsuite/rust/execute/torture/issue-5022.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/issue-5057.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/ptr_offset_from.rs


base-commit: 2104f1a937eb8c7a701fb7338bee9bfb5f72f902
-- 
2.55.0

Reply via email to