diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20011217-2.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20011217-2.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20011217-2.c b/gcc/testsuite/gcc.c-torture/compile/20011217-2.c new file mode 100644 index 000000000..0d9935969 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20011217-2.c @@ -0,0 +1,19 @@ +/* Test that the initializer of a compound literal is properly walked + when tree inlining. */ +/* Origin: glibc (as reported in PR c/5105) from <aj@suse.de>. */ + +inline int +finite (double __x) +{ + return (__extension__ + (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] + | 0x800fffffu) + 1) >> 31)); +} + +int +main (void) +{ + double x = 1.0; + + return finite (x); +} |