aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/resolve/rust-late-name-resolver-2.0.h
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2024-11-25 18:04:06 +0100
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2025-01-21 16:45:34 +0000
commit289bf52597fbe4cd85c0dca2bcb0404a960ad588 (patch)
tree2c2682a74ce58a12281986cd83ddebd3f8605dd4 /gcc/rust/resolve/rust-late-name-resolver-2.0.h
parent490c70374d9e98d8f9b761afe1be1a36a8ed41d0 (diff)
downloadgcc-289bf52597fbe4cd85c0dca2bcb0404a960ad588.zip
gcc-289bf52597fbe4cd85c0dca2bcb0404a960ad588.tar.gz
gcc-289bf52597fbe4cd85c0dca2bcb0404a960ad588.tar.bz2
Fix rust breakage with nr2
Nr2 did not emit the correct error message for break identifier "rust". gcc/rust/ChangeLog: * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add "rust" identifier detection akin to nr1. (funny_ice_finalizer): Copy ICE finalizer from nr1. * resolve/rust-late-name-resolver-2.0.h: Add funny_error member context state. * Make-lang.in: Add new translation unit for new ice finalizer. * resolve/rust-ast-resolve-expr.cc: Move ice finalizer to it's own file. * resolve/rust-ice-finalizer.cc: New file. * resolve/rust-ice-finalizer.h: New file. gcc/testsuite/ChangeLog: * rust/compile/nr2/exclude: Remove break-rust3.rs from exclude list. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/resolve/rust-late-name-resolver-2.0.h')
-rw-r--r--gcc/rust/resolve/rust-late-name-resolver-2.0.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rust/resolve/rust-late-name-resolver-2.0.h b/gcc/rust/resolve/rust-late-name-resolver-2.0.h
index 0efa693..bdaae14 100644
--- a/gcc/rust/resolve/rust-late-name-resolver-2.0.h
+++ b/gcc/rust/resolve/rust-late-name-resolver-2.0.h
@@ -45,6 +45,7 @@ public:
// resolutions
void visit (AST::IdentifierExpr &) override;
+ void visit (AST::BreakExpr &) override;
void visit (AST::PathInExpression &) override;
void visit (AST::TypePath &) override;
void visit (AST::Trait &) override;
@@ -58,6 +59,8 @@ public:
private:
/* Setup Rust's builtin types (u8, i32, !...) in the resolver */
void setup_builtin_types ();
+
+ bool funny_error;
};
// TODO: Add missing mappings and data structures