fixed problem that was introduced by fix of alignment problem
authorceriel <none@none>
Mon, 6 Jun 1988 13:02:41 +0000 (13:02 +0000)
committerceriel <none@none>
Mon, 6 Jun 1988 13:02:41 +0000 (13:02 +0000)
util/ass/ass00.c
util/ass/ass00.h
util/ass/ass80.c

index a184d6c..d0f016a 100644 (file)
@@ -340,11 +340,13 @@ endproc() {
        if ( prevstate!= pst_cast 0 ) {
                for ( lbhead= *pstate.s_locl;
                        lbhead<&(*pstate.s_locl)[LOCLABSIZE] ; lbhead++ ) {
-                       for ( lbp=lbhead; lbp!= lbp_cast 0; lbp= lbp_next ) {
+                       for ( lbp=lbhead->l_chain; lbp!= lbp_cast 0; lbp= lbp_next ) {
                                lbp_next= lbp->l_chain;
                                freearea((area_t)lbp,(unsigned)sizeof *lbp) ;
                        }
                }
+               freearea((area_t)(*pstate.s_locl),
+                       LOCLABSIZE * (sizeof((*pstate.s_locl)[0])));
                pstate= *prevstate ;
                freearea((area_t)prevstate,(unsigned)sizeof *prevstate) ;
        }
index af03d73..9b84cce 100644 (file)
@@ -18,7 +18,7 @@
 #define DUMP            1       /* dump between passes */
 /*  #define TIMING          1       /* some timing measurements */
 /*  #define JOHAN           1       /* dump the loaded instructions */
-/*  #define MEMUSE          1       /* print memory usage statistics */
+#define MEMUSE          1       /* print memory usage statistics */
 
 #ifndef DUMP
 #define dump(x)                  /* nothing */
index 649cd15..af807c0 100644 (file)
@@ -66,6 +66,7 @@ fatal(s) char *s; {
         */
        error("Fatal error: %s",s);
        dump(0);
+       abort();
        exit(-1);
 }