aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c
new file mode 100644
index 000000000..decd2af2a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/960209-1.c
@@ -0,0 +1,43 @@
+struct a_struct
+{
+ unsigned char a_character;
+};
+
+struct a_struct an_array[5];
+struct a_struct *a_ptr;
+int yabba = 1;
+
+int
+f (a, b)
+ unsigned char a;
+ unsigned long b;
+{
+ long i, j, p, q, r, s;
+
+ if (b != (unsigned long) 0)
+ {
+ if (yabba)
+ return -1;
+ s = 4000000 / b;
+ for (i = 0; i < 11; i++)
+ {
+ for (j = 0; j < 256; j++)
+ {
+ if (((p - s < 0) ? -s : 0) < (( q - s < 0) ? -s : q))
+ r = i;
+ }
+ }
+ }
+
+ if (yabba)
+ return 0;
+ a_ptr = &an_array[a];
+ a_ptr->a_character = (unsigned char) r;
+}
+
+main ()
+{
+ if (f (1, 0UL) != 0)
+ abort ();
+ exit (0);
+}