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).