diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/960909-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/960909-1.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/960909-1.c b/gcc/testsuite/gcc.c-torture/execute/960909-1.c new file mode 100644 index 00000000000..de1ed933978 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/960909-1.c @@ -0,0 +1,29 @@ +int +ffs (x) + int x; +{ + int bit, mask; + + if (x == 0) + return 0; + + for (bit = 1, mask = 1; !(x & mask); bit++, mask <<= 1) + ; + + return bit; +} + +f (x) + int x; +{ + int y; + y = ffs (x) - 1; + if (y < 0) + abort (); +} + +main () +{ + f (1); + exit (0); +} |