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

https://gcc.gnu.org/g:ca722fe423bdd8c7895a40aac0410b2646917805

commit ca722fe423bdd8c7895a40aac0410b2646917805
Merge: 5aec7cbfa56 7e576d70b6a
Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Date:   Mon May 2 21:26:10 2022 +0000

    Merge #1197
    
    1197: Support recursive coercion sites r=philberty a=philberty
    
    There are two changes are part of this PR one where we update the address_expression
    helper to take a ptrtype tree. Since the default build_address_expr_loc was automatically
    building a pointer type of the TREE_TYPE of the operand which is not correct since we
    sometimes want REFERENCE_TYPES instead of POINTER_TYPES.
    
    The 2nd commit enhances the coercion_site code to recursively walk the tree and their
    types to handle coercions to dyn traits or do array bounds checking etc. This gets rid of
    the get_root hack used and cleans up the code in general.
    
    
    Fixes #1146
    
    Co-authored-by: Philip Herron <philip.herron@embecosm.com>

Diff:

 gcc/rust/backend/rust-compile-base.cc         |   5 +-
 gcc/rust/backend/rust-compile-base.h          |   2 +-
 gcc/rust/backend/rust-compile-expr.cc         |  53 +++++----
 gcc/rust/backend/rust-compile-implitem.cc     |   9 +-
 gcc/rust/backend/rust-compile-item.cc         |   9 +-
 gcc/rust/backend/rust-compile-resolve-path.cc |   6 +-
 gcc/rust/backend/rust-compile.cc              | 162 ++++++++++++++++----------
 7 files changed, 151 insertions(+), 95 deletions(-)


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

only message in thread, other threads:[~2022-06-08 12:42 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:42 [gcc/devel/rust/master] Merge #1197 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).