diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr30311.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr30311.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr30311.c b/gcc/testsuite/gcc.c-torture/compile/pr30311.c new file mode 100644 index 000000000..85ce75099 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr30311.c @@ -0,0 +1,16 @@ +/* ICE in subreg_get_info: bug 30311. */ +/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +inline double bar(double x) +{ + long double d; + __asm__ ("" : "=t" (d) : "0" (x)); + return d; +} + +double foo(double x) +{ + if (x) + return bar(x); + else + return bar(x); +} |