aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bootstrap/varstate.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/bootstrap/varstate.c b/bootstrap/varstate.c
index 0f81f59..6b2b5ed 100644
--- a/bootstrap/varstate.c
+++ b/bootstrap/varstate.c
@@ -152,11 +152,14 @@ void varstate_mark_declared(struct Var *var)
static void require_in_scope(const struct Var *var)
{
if (var->declared_at_level > scope_level) {
- assert(var->declared_at_level == NOT_YET_DECLARED ||
- var->declared_at_level == OUT_OF_SCOPE);
- error_var(var->declared_at_level == NOT_YET_DECLARED ?
- "Variable hasn't been declared yet" :
- "Variable has gone out of scope here", var);
+ const char *msg;
+ if (var->declared_at_level == NOT_YET_DECLARED) {
+ msg = "Variable hasn't been declared yet";
+ } else {
+ assert(var->declared_at_level == OUT_OF_SCOPE);
+ msg = "Variable has gone out of scope here";
+ }
+ error_var(msg, var);
}
}