aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tccgen.c2
-rw-r--r--tests/tcctest.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/tccgen.c b/tccgen.c
index d7a5488..cbfe5ff 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -4013,7 +4013,7 @@ static int post_type(CType *type, AttributeDef *ad, int storage, int td)
if (tok == '[') {
next();
skip(']'); /* only handle simple "[]" */
- type->t |= VT_PTR;
+ mk_pointer(type);
}
/* we push a anonymous symbol which will contain the function prototype */
ad->a.func_args = arg_size;
diff --git a/tests/tcctest.c b/tests/tcctest.c
index e86a2a6..b6e4116 100644
--- a/tests/tcctest.c
+++ b/tests/tcctest.c
@@ -176,6 +176,11 @@ static int onetwothree = 123;
#define B3 4
#endif
+#ifdef __TINYC__
+/* We try to handle this syntax. Make at least sure it doesn't segfault. */
+char invalid_function_def()[] {}
+#endif
+
#define __INT64_C(c) c ## LL
#define INT64_MIN (-__INT64_C(9223372036854775807)-1)