diff options
Diffstat (limited to 'test/regression')
-rw-r--r-- | test/regression/Makefile | 12 | ||||
-rw-r--r-- | test/regression/Results/initializers | 1 | ||||
-rw-r--r-- | test/regression/initializers.c | 6 |
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; } |