From 79a8df42a334dab965fa32b6bf4230829dde0d0f Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Wed, 24 Apr 2019 20:01:07 -0700 Subject: Disallow struct members with function type --- decl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/decl.c b/decl.c index 361c0d9..041d98b 100644 --- a/decl.c +++ b/decl.c @@ -651,6 +651,9 @@ addmember(struct structbuilder *b, struct qualtype mt, char *name, int align, ui struct member *m; size_t end; + // XXX: check incomplete type, except for flexible array member + if (mt.type->kind == TYPEFUNC) + error(&tok.loc, "struct member '%s' has function type", name); assert(mt.type->align > 0); if (name || width == -1) { m = xmalloc(sizeof(*m)); -- cgit v1.2.3