diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/unsorted/subcc.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/unsorted/subcc.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/unsorted/subcc.c b/gcc/testsuite/gcc.c-torture/unsorted/subcc.c new file mode 100644 index 000000000..d89b50dbd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/unsorted/subcc.c @@ -0,0 +1,33 @@ +int foo (a, c) +{ + int b; + + if (a + c >= 0) /* b < 0 ==== a < 10? */ + return a | 0x80000000; + return 0; +} + +void bar (a) + int a; +{ + if (foo (a, 10) & 0x80000000) + printf ("y"); + else + printf ("n"); +} + +int main () +{ + bar (0); + bar (1); + bar (-1); + bar (10); + bar (-10); + bar (11); + bar (-11); + bar (0x7fffffff); + bar (-0x7fffffff); + + puts (""); + return 0; +} |