ref: c863f70762d5c00224431259e92b0eb5114b2b61
parent: a639f3f1bf3ee7a1645eddac929afc4a253e0c84
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Sat Jun 18 05:15:20 EDT 2022
cc1: Accept casts in sizeof expressions Casts can be used in sizeof expressions and it means that we have to call to cast() instead of calling unary() in sizeexp().
--- a/src/cmd/cc/cc1/expr.c
+++ b/src/cmd/cc/cc1/expr.c
@@ -739,8 +739,6 @@
return node(op, rettype, np, par);
}
-static Node *unary(void);
-
static Type *
typeof(Node *np)
{
@@ -759,6 +757,8 @@
return tp;
}
+static Node *cast(void);
+
static Type *
sizeexp(void)
{
@@ -771,7 +771,7 @@
tp = typename();
break;
default:
- tp = typeof(unary());
+ tp = typeof(cast());
break;
}
expect(')');
@@ -813,8 +813,6 @@
}
}
}
-
-static Node *cast(void);
static Node *
unary(void)