diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2024-09-26 23:17:59 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-03-19 15:32:15 +0100 |
commit | ff388c8b1ca6f8f6e42a7a0a5388b18aed5a4176 (patch) | |
tree | 19fc104ec6e86612c644f36d5c4a65a8d8ea6c0d /gcc | |
parent | 712e92cb20173df1f040c57140d159b99e952b64 (diff) | |
download | gcc-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.cc | 6 |
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; |