diff options
Diffstat (limited to 'gcc/rust/resolve/rust-ast-resolve.cc')
-rw-r--r-- | gcc/rust/resolve/rust-ast-resolve.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/resolve/rust-ast-resolve.cc b/gcc/rust/resolve/rust-ast-resolve.cc index 41c6938..f97c97b 100644 --- a/gcc/rust/resolve/rust-ast-resolve.cc +++ b/gcc/rust/resolve/rust-ast-resolve.cc @@ -41,6 +41,9 @@ } \ while (0) +extern bool +saw_errors (void); + namespace Rust { namespace Resolver { @@ -322,6 +325,9 @@ NameResolution::go (AST::Crate &crate) for (auto it = crate.items.begin (); it != crate.items.end (); it++) ResolveTopLevel::go (it->get ()); + if (saw_errors ()) + return; + // next we can drill down into the items and their scopes for (auto it = crate.items.begin (); it != crate.items.end (); it++) ResolveItem::go (it->get ()); |