Fixed: union initialization did not work properly
authorceriel <none@none>
Mon, 3 Oct 1994 12:57:39 +0000 (12:57 +0000)
committerceriel <none@none>
Mon, 3 Oct 1994 12:57:39 +0000 (12:57 +0000)
lang/cem/cemcom.ansi/ival.g

index e7fb3d3..5ed7c88 100644 (file)
@@ -220,6 +220,12 @@ gen_tphead(tpp, nest)
        }
        if (gen_error) return tpp;
        if (tp->tp_fund == UNION) {
+               sd = tp->tp_sdef;
+               if (AHEAD == '{' &&
+                   (aggregate_type(sd->sd_type) || 
+                    sd->sd_type->tp_fund == UNION)) {
+                       return &(sd->sd_type);
+               }
                return gen_tphead(&(tp->tp_sdef->sd_type), nest);
        }
        p = new_e_stack();