aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-24 22:53:14 +0200
committerlemon <lsof@mailbox.org>2023-06-24 22:53:14 +0200
commit06c5bffcfc657df7216987aba5319761da9bbd97 (patch)
treea905043b56c7fc65ee09c9f68d9fbc55cdca0f01
parentf5092933be41ae07874a070c9f25a91a46cb8699 (diff)
ir: dattab shouldn't reset for every function
this was causing later functions' data to override earlier data
-rw-r--r--ir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ir.c b/ir.c
index 4ed798e..69cb1fa 100644
--- a/ir.c
+++ b/ir.c
@@ -38,7 +38,7 @@ irinit(struct function *fn)
vinit(&calltab, callsbuf, arraylength(callsbuf));
for (int i = 0; i < phitab.n; ++i) xbfree(phitab.p[i]);
vinit(&phitab, phisbuf, arraylength(phisbuf));
- vinit(&dattab, datsbuf, arraylength(datsbuf));
+ if (!dattab.p) vinit(&dattab, datsbuf, arraylength(datsbuf));
if (naddrht >= arraylength(addrht)/2)
memset(addrht, naddrht = 0, sizeof addrht);
if (nconht >= arraylength(conht)/2)