aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression
diff options
context:
space:
mode:
Diffstat (limited to 'test/regression')
-rw-r--r--test/regression/Makefile12
-rw-r--r--test/regression/Results/initializers1
-rw-r--r--test/regression/initializers.c6
3 files changed, 19 insertions, 0 deletions
diff --git a/test/regression/Makefile b/test/regression/Makefile
index e9d0318e..186bddd8 100644
--- a/test/regression/Makefile
+++ b/test/regression/Makefile
@@ -44,4 +44,16 @@ test:
fi; \
done
+interp:
+ @for i in $(TESTS); do \
+ if $(CCOMP) -fall -interp 2>/dev/null $$i.c > _cinterp.log; then \
+ if cmp -s _cinterp.log Results/$$i; \
+ then echo "$$i: interpreter passed"; \
+ else echo "$$i: interpreter FAILED"; \
+ fi; \
+ else \
+ echo "$$i: interpreter undefined behavior"; \
+ fi; \
+ done
+
bench:
diff --git a/test/regression/Results/initializers b/test/regression/Results/initializers
index 67460cc4..d3fc91a5 100644
--- a/test/regression/Results/initializers
+++ b/test/regression/Results/initializers
@@ -19,3 +19,4 @@ x18 = "Hello!"
x19 = { "Hello", "world!" }
x20 = { 'H', 'e', 'l', }
x21 = { 'H', 'e', 'l', 'l', 'o', '!', 0, 0, 0, 0, }
+x22 ok
diff --git a/test/regression/initializers.c b/test/regression/initializers.c
index a0913fda..f831c672 100644
--- a/test/regression/initializers.c
+++ b/test/regression/initializers.c
@@ -50,6 +50,8 @@ char x20[3] = "Hello!";
char x21[10] = "Hello!";
+char * x22 = &(x10.u.y);
+
static void print_chars(char * s, int sz)
{
int i;
@@ -106,6 +108,10 @@ int main()
printf("x21 = { ");
print_chars(x21, sizeof(x21));
printf("}\n");
+ if (x22 == &(x10.u.y))
+ printf("x22 ok\n");
+ else
+ printf("x22 error\n");
return 0;
}