scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit ae4a3e5293e473ddd6366521a01705637201ce13
parent f2c91d546296c4b2c207db6c83e1f0b860649f6e
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Wed, 18 Jan 2023 20:32:25 +0100

cc1: Call simplify() in initialize()

Simplify() was not called in the case of not needing a conversion.

Diffstat:
Msrc/cmd/cc/cc1/init.c | 13++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/cmd/cc/cc1/init.c b/src/cmd/cc/cc1/init.c @@ -123,13 +123,12 @@ initialize(Type *tp) return initlist(tp); np = assign(); - if (eqtype(tp, np->type, EQUIV)) - return np; - - np = convert(decay(np), tp, 0); - if (!np) { - errorp("incorrect initializer"); - return constnode(zero); + if (!eqtype(tp, np->type, EQUIV)) { + np = convert(decay(np), tp, 0); + if (!np) { + errorp("incorrect initializer"); + return constnode(zero); + } } return simplify(np);