From d1e4c3d930d62a6ba9ef7c61576ab43e144f504c Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 3 Oct 1994 12:57:39 +0000 Subject: [PATCH] Fixed: union initialization did not work properly --- lang/cem/cemcom.ansi/ival.g | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lang/cem/cemcom.ansi/ival.g b/lang/cem/cemcom.ansi/ival.g index e7fb3d3f6..5ed7c8850 100644 --- a/lang/cem/cemcom.ansi/ival.g +++ b/lang/cem/cemcom.ansi/ival.g @@ -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();