diff options
author | Philip Herron <herron.philip@googlemail.com> | 2025-04-17 14:38:04 +0100 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2025-04-18 09:45:18 +0000 |
commit | e77b7c22ab159f967fc2e0bca59468d0df08a023 (patch) | |
tree | 6cde3d0cf1238c9f2acea46854bb42285ded8d92 /gcc/tree.h | |
parent | 5a2d06037c7e0b0f06543db17b8376b6a6fceeb3 (diff) | |
download | gcc-e77b7c22ab159f967fc2e0bca59468d0df08a023.zip gcc-e77b7c22ab159f967fc2e0bca59468d0df08a023.tar.gz gcc-e77b7c22ab159f967fc2e0bca59468d0df08a023.tar.bz2 |
gccrs: Fix ICE in struct expressions
The error handling here was done long ago when we didnt know how to do
any error handling very well. This removed bad fatal_errors and adds in
some nice rich_location error diagnostics instead.
Fixes Rust-GCC#3628
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-struct-field.h: keep reference to parent expression
* typecheck/rust-hir-type-check-struct.cc (TypeCheckStructExpr::TypeCheckStructExpr):
update ctor
(TypeCheckStructExpr::resolve): remove bad rust_fatal_errors
(TypeCheckStructExpr::visit): cleanup errors
gcc/testsuite/ChangeLog:
* rust/compile/macros/mbe/macro-issue2983_2984.rs: cleanup error diagnotics
* rust/compile/struct_init1.rs: likewise
* rust/compile/issue-3628.rs: New test.
Signed-off-by: Philip Herron <herron.philip@googlemail.com>
Diffstat (limited to 'gcc/tree.h')
0 files changed, 0 insertions, 0 deletions