public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/rust/master] Merge #1190 #1192 #1193
@ 2022-06-08 12:40 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2022-06-08 12:40 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:83e13db1fa12d3ff8751a293595cbf01fd1ac236

commit 83e13db1fa12d3ff8751a293595cbf01fd1ac236
Merge: 9cf744cbd76 bbf171c9d25 7fe6bc1ba1a ae085ac7b12
Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Date:   Thu Apr 28 14:19:07 2022 +0000

    Merge #1190 #1192 #1193
    
    1190: Fix ICE in reachability class and refactor associated types code r=philberty a=philberty
    
    There are several fixes going on to solve these issues which overlap with one
    another so it seemed best to pack them within the same PR.
    
    The main issue for #1128 was that we did not resolve a trait when it was unused
    leading to us hitting the ICE in the privacy pass. Since the type check context was
    empty for the trait since it was not resolved. To fix this we needed to refactor the
    trait resolver to resolve the trait as part of iterating the crate. This resulted in some
    regressions in the testsuite so this is why we need the the other commits. Which
    required us to finally perform the refactor specified in #1105 to fix these.
    
    Fixes #1105 #1128 #1132
    
    1192: Add an assertion to avoid peeking when the stack is empty r=philberty a=philberty
    
    This will ensure we get a proper ICE instead of memory corruption/segv.
    
    Addresses #1130
    
    1193: Remove unused parameter caller from generating Call expressions r=philberty a=philberty
    
    Within const context the fncontext maybe empty which in turn results in a
    segv for generating const calls which will be evaluated by the const-expr
    code anyway.
    
    Addresses #1130
    
    
    Co-authored-by: Philip Herron <philip.herron@embecosm.com>

Diff:

 gcc/rust/backend/rust-compile-context.h        |   6 +-
 gcc/rust/backend/rust-compile-expr.cc          |  27 +--
 gcc/rust/backend/rust-compile-implitem.cc      |   1 +
 gcc/rust/backend/rust-compile-item.cc          |   1 +
 gcc/rust/backend/rust-compile-resolve-path.cc  |  15 --
 gcc/rust/rust-backend.h                        |   3 +-
 gcc/rust/rust-gcc.cc                           |   5 +-
 gcc/rust/typecheck/rust-hir-path-probe.h       |  12 --
 gcc/rust/typecheck/rust-hir-trait-ref.h        |  11 +-
 gcc/rust/typecheck/rust-hir-trait-resolve.cc   | 270 +++++++++++++++++++------
 gcc/rust/typecheck/rust-hir-trait-resolve.h    | 191 +----------------
 gcc/rust/typecheck/rust-hir-type-check-item.h  |   2 +
 gcc/rust/typecheck/rust-hir-type-check-path.cc |  71 +++----
 gcc/rust/typecheck/rust-hir-type-check-type.cc |  67 ++----
 gcc/rust/typecheck/rust-tyty.cc                |  35 +++-
 gcc/testsuite/rust/compile/issue-1128.rs       |   6 +
 16 files changed, 323 insertions(+), 400 deletions(-)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-08 12:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08 12:40 [gcc/devel/rust/master] Merge #1190 #1192 #1193 Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).