From 0565730b0d3d887875975b983fd2b98e9b00fba2 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Tue, 21 Mar 2023 21:37:36 +0000 Subject: [PATCH] Fix warnings on release build --- src/lib.c | 9 +++++++++ src/lib.h | 1 + src/names.c | 6 +----- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lib.c b/src/lib.c index 0a486280..9eda6855 100644 --- a/src/lib.c +++ b/src/lib.c @@ -999,6 +999,15 @@ tree_t lib_get_qualified(ident_t qual) return lib_get(lib, qual); } +bool lib_had_errors(lib_t lib, ident_t ident) +{ + lib_unit_t *lu = lib_get_aux(lib, ident); + if (lu != NULL) + return lu->error; + + return false; +} + ident_t lib_name(lib_t lib) { assert(lib != NULL); diff --git a/src/lib.h b/src/lib.h index 3191d7f5..425ebe63 100644 --- a/src/lib.h +++ b/src/lib.h @@ -62,6 +62,7 @@ void lib_put_generic(lib_t lib, object_t *obj); tree_t lib_get(lib_t lib, ident_t ident); tree_t lib_get_allow_error(lib_t lib, ident_t ident, bool *error); tree_t lib_get_qualified(ident_t qual); +bool lib_had_errors(lib_t lib, ident_t ident); lib_mtime_t lib_mtime(lib_t lib, ident_t ident); unsigned lib_index_size(lib_t lib); int lib_index_kind(lib_t lib, ident_t ident); diff --git a/src/names.c b/src/names.c index eaac9aeb..db922d8a 100644 --- a/src/names.c +++ b/src/names.c @@ -1421,12 +1421,8 @@ tree_t resolve_name(nametab_t *tab, const loc_t *loc, ident_t name) const symbol_t *psym = prefix ? iterate_symbol_for(tab, prefix) : NULL; if (psym != NULL && psym->ndecls == 1) { if (psym->decls[0].kind == T_LIBRARY) { - bool error = false; lib_t lib = lib_require(psym->name); - tree_t unit = lib_get_allow_error(lib, name, &error); - assert(unit == NULL || error); - - if (error) { + if (lib_had_errors(lib, name)) { diag_printf(d, "design unit depends on %s which was analysed" " with errors", istr(name)); tab->top_scope->suppress = true; -- 2.39.2