aboutsummaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorSamuel Lidén Borell <samuel@kodafritt.se>2026-03-07 20:56:47 +0100
committerSamuel Lidén Borell <samuel@kodafritt.se>2026-03-07 20:56:47 +0100
commit4c02c75ac16f467b1072cee566262d372ddb7aa5 (patch)
tree1fbea548e0572e60311aa8e506e8d3b3fc3e3df8 /bootstrap
parent06c7e7f3746db958d95938fea3952bf3750fc53c (diff)
downloadslul-try2-main.tar.gz
slul-try2-main.zip
bootstrap: Avoid repetition (and line break) in assertHEADmain
Line breaks inside macro invocations are supported by the C standard, but it is an edge case, and there could be buggy compilers that don't support it.
Diffstat (limited to 'bootstrap')
-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);
}
}