diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/unsorted/subcc.c')
-rwxr-xr-x | gcc/testsuite/gcc.c-torture/unsorted/subcc.c | 31 |
1 files changed, 31 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 100755 index 0000000..d50114e --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/unsorted/subcc.c @@ -0,0 +1,31 @@ +foo (a, c) +{ + int b; + + if (a + c >= 0) /* b < 0 ==== a < 10? */ + return a | 0x80000000; + return 0; +} + +bar (a) +{ + if (foo (a, 10) & 0x80000000) + printf ("y"); + else + printf ("n"); +} + +main () +{ + bar (0); + bar (1); + bar (-1); + bar (10); + bar (-10); + bar (11); + bar (-11); + bar (0x7fffffff); + bar (-0x7fffffff); + + puts (""); +} |