fixed another POINTER TO IDENT problem
authorceriel <none@none>
Thu, 19 Jan 1989 10:58:43 +0000 (10:58 +0000)
committerceriel <none@none>
Thu, 19 Jan 1989 10:58:43 +0000 (10:58 +0000)
lang/m2/comp/Version.c
lang/m2/comp/type.c

index 1c0dcdc..a8b24e9 100644 (file)
@@ -1 +1 @@
-static char Version[] = "ACK Modula-2 compiler Version 0.44";
+static char Version[] = "ACK Modula-2 compiler Version 0.45";
index 4370836..8db3e44 100644 (file)
@@ -727,12 +727,20 @@ type_or_forward(ptp)
                /* Either a Module or a Type, but in both cases defined
                   in this scope, so this is the correct identification
                */
-               if (df1->df_kind == D_FORWTYPE) {
+               switch(df1->df_kind) {
+               case D_FORWARD:
+                       FreeNode(df1->for_node);
+                       df1->df_kind = D_FORWTYPE;
+                       df1->df_forw_node = 0;
+                       /* Fall through */
+               case D_FORWTYPE:
                        nd = dot2node(0, NULLNODE, df1->df_forw_node);
                        df1->df_forw_node = nd;
                        nd->nd_type = *ptp;
+                       return 0;
+               default:
+                       return 1;
                }
-               return 1;
        }
        nd = dot2leaf(0);
        if ((df1 = lookfor(nd, CurrVis, 0, D_USED))->df_kind == D_MODULE) {