fix testcases, yet another endless loop test
authorMatthias Braun <matze@braunis.de>
Wed, 10 Sep 2008 15:06:03 +0000 (15:06 +0000)
committerMatthias Braun <matze@braunis.de>
Wed, 10 Sep 2008 15:06:03 +0000 (15:06 +0000)
[r21823]

ir/be/test/fehler152.c
ir/be/test/fehler153.c [new file with mode: 0644]

index c88a52d..66d1fd8 100644 (file)
@@ -2,7 +2,8 @@
 #include <stdlib.h>
 #include <signal.h>
 
-int x = 2;
+volatile int x = 2;
+
 int test(void) {
 
        x = 3;
diff --git a/ir/be/test/fehler153.c b/ir/be/test/fehler153.c
new file mode 100644 (file)
index 0000000..4879e0c
--- /dev/null
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+
+volatile int x = 2;
+volatile int y;
+
+int test(void) {
+
+       x = 3;
+       y = 4;
+
+       for(;;) {
+               x = y;
+       }
+}
+
+void handler(int sig)
+{
+       printf(x == 4 ? "ok\n" : "fail");
+       fflush(stdout);
+       exit(x != 4);
+}
+
+int main(int argc, char *argv[]) {
+       alarm(1);
+       signal(SIGALRM, handler);
+       test();
+       printf("FAIL ENDLESS LOOP\n");
+       return 1;
+}