aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2024-09-26 23:17:59 +0200
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-09-26 22:48:32 +0000
commitb408e04a5ef6fe80387a9db616a2c106e290b4bb (patch)
tree61f2e20a1fa437386bf537a770dc378eee4ab45b /gcc
parent0f614e06ccb8852a85e8a26daa388e2ca3afccec (diff)
downloadgcc-b408e04a5ef6fe80387a9db616a2c106e290b4bb.zip
gcc-b408e04a5ef6fe80387a9db616a2c106e290b4bb.tar.gz
gcc-b408e04a5ef6fe80387a9db616a2c106e290b4bb.tar.bz2
Postpone break on error after name resolution
We need the top level to run at least once before breaking because it will be required by the other name resolution steps. gcc/rust/ChangeLog: * rust-session-manager.cc (Session::expansion): Break on error after top level name resolution. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/rust-session-manager.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 2cc20ec..1cf58e8 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -925,9 +925,6 @@ Session::expansion (AST::Crate &crate, Resolver2_0::NameResolutionContext &ctx)
{
CfgStrip ().go (crate);
// Errors might happen during cfg strip pass
- if (saw_errors ())
- break;
-
bool visitor_dirty = false;
if (flag_name_resolution_2_0)
@@ -940,6 +937,9 @@ Session::expansion (AST::Crate &crate, Resolver2_0::NameResolutionContext &ctx)
else
Resolver::EarlyNameResolver ().go (crate);
+ if (saw_errors ())
+ break;
+
ExpandVisitor (expander).go (crate);
fixed_point_reached = !expander.has_changed () && !visitor_dirty;