aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index dd53a7902..30bf65418 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -2838,14 +2838,18 @@ void check_import_entities(Checker *c) {
return token;
};
- Scope *s = path[0];
- Token token = mt(s);
- error(token, "Cyclic importation of `%.*s`", LIT(token.string));
- for (isize i = path.count-1; i >= 0; i--) {
- gb_printf_err("\t`%.*s` refers to", LIT(token.string));
- s = path[i];
+
+ if (path.count > 0) {
+ Scope *s = path[path.count-1];
+ Token token = mt(s);
+ error(token, "Cyclic importation of `%.*s`", LIT(token.string));
+ for (isize i = 0; i < path.count; i++) {
+ gb_printf_err("\t`%.*s` refers to\n", LIT(token.string));
+ s = path[i];
+ token = mt(s);
+ }
+ gb_printf_err("\t`%.*s`\n", LIT(token.string));
}
- gb_printf_err("\t`%.*s`", LIT(token.string));
}
}