added another test case
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Mon, 9 Oct 2006 13:43:38 +0000 (13:43 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Mon, 9 Oct 2006 13:43:38 +0000 (13:43 +0000)
ir/be/test/bad.c [new file with mode: 0644]

diff --git a/ir/be/test/bad.c b/ir/be/test/bad.c
new file mode 100644 (file)
index 0000000..0c9a293
--- /dev/null
@@ -0,0 +1,68 @@
+unsigned int
+f1 (int diff)
+{
+  return ((unsigned int) (diff < 0 ? -diff : diff));
+}
+
+unsigned int
+f2 (unsigned int diff)
+{
+  return ((unsigned int) ((signed int) diff < 0 ? -diff : diff));
+}
+
+unsigned long long
+f3 (long long diff)
+{
+  return ((unsigned long long) (diff < 0 ? -diff : diff));
+}
+
+unsigned long long
+f4 (unsigned long long diff)
+{
+  return ((unsigned long long) ((signed long long) diff < 0 ? -diff : diff));
+}
+
+main ()
+{
+  int i;
+  for (i = 0; i <= 10; i++)
+    {
+      /*
+      if (f1 (i) != i) {
+        printf("f1(%d)\n", i);
+       abort ();
+      }
+      if (f1 (-i) != i) {
+        printf("f1(%d)\n", -i);
+       abort ();
+      }
+      if (f2 (i) != i) {
+        printf("f2(%d)\n", i);
+       abort ();
+      }
+      */
+      if (f2 (-i) != i) {
+        printf("f2(%d)\n", -i);
+       abort ();
+      }
+      /*
+      if (f3 ((long long) i) != i) {
+        printf("f3(%lld)\n", i);
+       abort ();
+      }
+      if (f3 ((long long) -i) != i) {
+        printf("f3(%lld)\n", -i);
+       abort ();
+      }
+      if (f4 ((long long) i) != i) {
+        printf("f4(%lld)\n", i);
+       abort ();
+      }
+      if (f4 ((long long) -i) != i) {
+        printf("f4(%d)\n", -i);
+       abort ();
+      }
+      */
+    }
+  exit (0);
+}