.de now are evaluated during the first pass
authorLukas Krickl <lukas@krickl.dev>
Sat, 16 Dec 2023 07:40:54 +0000 (08:40 +0100)
committerLukas Krickl <lukas@krickl.dev>
Sat, 16 Dec 2023 07:40:54 +0000 (08:40 +0100)
src/ulas.c

index c1d37a313ce3a1dbe7024d0c2946727a881d743e..79159cd3b799c8be864b90a863662ac25e92c1e0 100644 (file)
@@ -2366,16 +2366,14 @@ int ulas_asmdirdefenum(const char **line, unsigned long n) {
   val.intv = ulas.enumv; 
   
   int rc = 0;
-  ulas.enumv += ulas_intexpr(line, n, &rc);
+  ULAS_EVALEXPRS(ulas.enumv += ulas_intexpr(line, n, &rc));
   if (rc == -1) {
     goto fail;
   }
   struct ulas_tok tok = {ULAS_INT, val};
 
-  if (ulas.pass == ULAS_PASS_FINAL) {
-    // only really define in final pass
-    ulas_symbolset(name, -1, tok, 1);
-  }
+  // only really define in final pass
+  ulas_symbolset(name, -1, tok, 1);
 fail:
   return rc;
 }