aboutsummaryrefslogtreecommitdiff
path: root/tests/tests2/80_flexarray.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-03-11 22:35:44 +0100
committerMichael Matz <matz@suse.de>2016-03-11 22:35:44 +0100
commitceccd3ead3884afba95fd21ba1967d01acd2f2df (patch)
tree654a668d1f8925398ec7e277b05a9b8c9955ea88 /tests/tests2/80_flexarray.c
parent7e0ad4fdd2d5359799f16732df07e00c8719c1e6 (diff)
downloadtinycc-ceccd3ead3884afba95fd21ba1967d01acd2f2df.tar.gz
tinycc-ceccd3ead3884afba95fd21ba1967d01acd2f2df.tar.bz2
tccgen.c: Fix flex array members some more
Last fix didn't work for function f1int in the added testcase.
Diffstat (limited to 'tests/tests2/80_flexarray.c')
-rw-r--r--tests/tests2/80_flexarray.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/tests2/80_flexarray.c b/tests/tests2/80_flexarray.c
new file mode 100644
index 0000000..1fc1a60
--- /dev/null
+++ b/tests/tests2/80_flexarray.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+struct wchar {
+ char *data; char mem[];
+};
+struct wint {
+ char *data; int mem[];
+};
+int f1char (void) {
+ char s[9]="nonono";
+ struct wchar q = {"bugs"};
+ return !s[0];
+}
+int f1int (void) {
+ char s[9]="nonono";
+ struct wint q = {"bugs"};
+ return !s[0];
+}
+int main (void) {
+ char s[9]="nonono";
+ static struct wchar q = {"bugs", {'c'}};
+ //printf ("tcc has %s %s\n", s, q.data);
+ if (f1char() || f1int())
+ printf ("bla\n");
+ return !s[0];
+}