aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2024-09-26 23:17:59 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-19 15:32:15 +0100
commitff388c8b1ca6f8f6e42a7a0a5388b18aed5a4176 (patch)
tree19fc104ec6e86612c644f36d5c4a65a8d8ea6c0d /gcc
parent712e92cb20173df1f040c57140d159b99e952b64 (diff)
downloadgcc-ff388c8b1ca6f8f6e42a7a0a5388b18aed5a4176.zip
gcc-ff388c8b1ca6f8f6e42a7a0a5388b18aed5a4176.tar.gz
gcc-ff388c8b1ca6f8f6e42a7a0a5388b18aed5a4176.tar.bz2
gccrs: 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 5668d4d..11ff250 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;