aboutsummaryrefslogtreecommitdiff
path: root/decl.c
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-04-16 16:47:53 -0700
committerMichael Forney <mforney@mforney.org>2019-04-16 17:11:41 -0700
commit056de5d46edfd4f5882217248c49fa64a9ecff48 (patch)
tree150b3bb640c3bd8854c05160969baa52ffaa1aff /decl.c
parent07ca02cc2d0a2137433f29186aa838d68ded7e9a (diff)
Use undecayed type in __typeof__
Diffstat (limited to 'decl.c')
-rw-r--r--decl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/decl.c b/decl.c
index f137533..bfe1435 100644
--- a/decl.c
+++ b/decl.c
@@ -345,6 +345,8 @@ declspecs(struct scope *s, enum storageclass *sc, enum funcspec *fs, int *align)
t = typename(s, &tq);
if (!t) {
e = expr(s);
+ if (e->decayed)
+ e = e->unary.base;
t = e->type;
tq |= e->qual;
delexpr(e);