Hello,

This series contains the changes from Oct 16th to Oct 27th.

- many intrinsics enhancements 
- const support enhancement
- better support of prelude
- add more testing
- few bug fixes

Every commit has been regtested on x86_64-linux.
The result has been regstraped on x86_64-linux with recent gcc and gcc5.x (see 
https://github.com/Rust-GCC/gccrs/pull/5033) (gcc5 pending).

Ok for master (if gcc5 bootstrap test is OK)?

Thanks,
Marc

Arthur Cohen (8):
  gccrs: intrinsics: Add wrapper class to compile intrinsic functions
  gccrs: intrinsics: Fix invalid error check after improvements to
    builtin lookup
  gccrs: intrinsics: Always warn on assert_zero_valid<T>
  gccrs: intrinsics: Add exact_div
  gccrs: intrinsics: Add assert_inhabited<T>
  gccrs: intrinsics: Add basic support for assert_uninit_valid<T>
  gccrs: intrinsics: Add basic implementation for breakpoint
  gccrs: intrinsics: Add sorry implementation for pref_align_of

Pierre-Emmanuel Patry (12):
  gccrs: Add extern crate core library test
  gccrs: Do not re-export macros
  gccrs: Change crate injection API
  gccrs: Run minicore tests with rust 2018 edition
  gccrs: Add extern prelude and lang prelude to debug string
  gccrs: Output cursor position within forever stack debug
  gccrs: Assign node id to both prelude
  gccrs: Insert extern crates within extern prelude
  gccrs: Add test to highlight top core module collision
  gccrs: Remove map and add extern crate to glob containers
  gccrs: Document glob containers path
  gccrs: Add extern prelude crate tests

Utkarsh Bahuguna (6):
  gccrs: Parse const blocks at the start of a statement
  gccrs: Fix ICE on rest patterns in enum tuple variants
  gccrs: Report an error when pub is not followed by an item
  gccrs: Resolve 2015 use paths from the crate root
  gccrs: Only add the requested auto trait when probing for a trait
  gccrs: Report non-exhaustive matches as E0004

Yap Zhi Heng (1):
  gccrs: Fix bitshift compound assignment type check

 gcc/rust/ast/rust-ast.cc                      |   11 +-
 gcc/rust/ast/rust-ast.h                       |    2 +-
 gcc/rust/backend/rust-compile-intrinsic.cc    |  143 +-
 gcc/rust/backend/rust-compile-pattern.cc      |   42 +-
 gcc/rust/backend/rust-intrinsic-handlers.cc   | 1632 ++++++-----------
 gcc/rust/backend/rust-intrinsic-handlers.h    |  211 ++-
 .../errors/rust-hir-pattern-analysis.cc       |    2 +-
 gcc/rust/metadata/rust-export-metadata.cc     |    3 -
 gcc/rust/parse/rust-parse-impl.hxx            |   21 +-
 .../resolve/rust-early-name-resolver-2.0.cc   |   26 +-
 .../resolve/rust-early-name-resolver-2.0.h    |   16 +-
 gcc/rust/resolve/rust-forever-stack.h         |    7 +-
 gcc/rust/resolve/rust-forever-stack.hxx       |   20 +-
 .../resolve/rust-name-resolution-context.cc   |    9 +
 .../resolve/rust-name-resolution-context.h    |    5 +
 .../resolve/rust-name-resolution-context.hxx  |    4 +
 .../rust-toplevel-name-resolver-2.0.cc        |   19 +-
 .../typecheck/rust-hir-type-check-expr.cc     |   27 +-
 .../rust-hir-type-check-intrinsic.cc          |   14 +
 gcc/rust/typecheck/rust-tyty-bounds.cc        |    5 +-
 gcc/rust/util/rust-intrinsic-values.h         |    9 +
 .../rust/compile/assert_inhabited.rs          |   30 +
 .../rust/compile/assert_zero_valid.rs         |    4 +-
 .../compile/auto-trait-nested-negative.rs     |   35 +
 gcc/testsuite/rust/compile/breakpoint.rs      |   15 +
 .../rust/compile/const-items-in-block.rs      |   11 +
 gcc/testsuite/rust/compile/exact_div.rs       |   22 +
 gcc/testsuite/rust/compile/exhaustiveness6.rs |   18 +
 .../rust/compile/inline-const-bare.rs         |    6 +
 .../rust/compile/inline-const-generic.rs      |   10 +
 .../rust/compile/inline-const-stmt.rs         |   19 +
 .../rust/compile/irrefutable-struct.rs        |    7 +-
 gcc/testsuite/rust/compile/issue-4589.rs      |   41 +
 gcc/testsuite/rust/compile/issue-4940.rs      |    6 +
 gcc/testsuite/rust/compile/issues/4913.rs     |   22 +
 .../rust/compile/issues/issue-4971.rs         |   35 +
 gcc/testsuite/rust/compile/pref_align_of.rs   |   21 +
 .../rust/compile/tuple-variant-rest.rs        |   37 +
 .../rust/execute/torture/assert_inhabited1.rs |   33 +
 .../rust/execute/torture/assert_inhabited2.rs |   30 +
 .../execute/torture/assert_uninit_valid1.rs   |   40 +
 .../execute/torture/assert_zero_valid1.rs     |   40 +
 .../rust/execute/torture/inline-const-stmt.rs |   15 +
 .../execute/torture/tuple-variant-rest.rs     |   77 +
 .../rust/minicore/extern_lang_items.rs        |   11 +
 .../minicore/extern_lang_items_core/lib.rs    |   25 +
 .../rust/minicore/extern_prelude_path.rs      |    7 +
 .../minicore/extern_prelude_path_core/lib.rs  |    4 +
 gcc/testsuite/rust/minicore/minicore.exp      |   74 +
 .../rust/minicore/top_core_modules.rs         |    4 +
 .../minicore/top_core_modules_core/lib.rs     |    4 +
 51 files changed, 1722 insertions(+), 1209 deletions(-)
 create mode 100644 gcc/testsuite/rust/compile/assert_inhabited.rs
 create mode 100644 gcc/testsuite/rust/compile/auto-trait-nested-negative.rs
 create mode 100644 gcc/testsuite/rust/compile/breakpoint.rs
 create mode 100644 gcc/testsuite/rust/compile/const-items-in-block.rs
 create mode 100644 gcc/testsuite/rust/compile/exact_div.rs
 create mode 100644 gcc/testsuite/rust/compile/exhaustiveness6.rs
 create mode 100644 gcc/testsuite/rust/compile/inline-const-bare.rs
 create mode 100644 gcc/testsuite/rust/compile/inline-const-generic.rs
 create mode 100644 gcc/testsuite/rust/compile/inline-const-stmt.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-4589.rs
 create mode 100644 gcc/testsuite/rust/compile/issue-4940.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/4913.rs
 create mode 100644 gcc/testsuite/rust/compile/issues/issue-4971.rs
 create mode 100644 gcc/testsuite/rust/compile/pref_align_of.rs
 create mode 100644 gcc/testsuite/rust/compile/tuple-variant-rest.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/assert_inhabited1.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/assert_inhabited2.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/assert_uninit_valid1.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/assert_zero_valid1.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/inline-const-stmt.rs
 create mode 100644 gcc/testsuite/rust/execute/torture/tuple-variant-rest.rs
 create mode 100644 gcc/testsuite/rust/minicore/extern_lang_items.rs
 create mode 100644 gcc/testsuite/rust/minicore/extern_lang_items_core/lib.rs
 create mode 100644 gcc/testsuite/rust/minicore/extern_prelude_path.rs
 create mode 100644 gcc/testsuite/rust/minicore/extern_prelude_path_core/lib.rs
 create mode 100644 gcc/testsuite/rust/minicore/minicore.exp
 create mode 100644 gcc/testsuite/rust/minicore/top_core_modules.rs
 create mode 100644 gcc/testsuite/rust/minicore/top_core_modules_core/lib.rs


base-commit: 8280b3ff920fc6b1c72fdbe44e6f388eb0955865
-- 
2.55.0

Reply via email to