diff options
| -rw-r--r-- | bootstrap/varstate.c | 13 |
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); } } |
