aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-04-24 20:01:07 -0700
committerMichael Forney <mforney@mforney.org>2019-04-24 22:32:22 -0700
commit79a8df42a334dab965fa32b6bf4230829dde0d0f (patch)
treeca8992cd1be8ea266afb266d9f42b91070610beb
parent67c96568772bc0686e9a73e1d6490d9d982b53dd (diff)
downloadcproc-79a8df42a334dab965fa32b6bf4230829dde0d0f.tar.xz
Disallow struct members with function type
-rw-r--r--decl.c3
1 files changed, 3 insertions, 0 deletions
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));