diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr35620.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr35620.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr35620.c b/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr35620.c new file mode 100644 index 000000000..2d56ab76b --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr35620.c @@ -0,0 +1,27 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +#ifdef __cplusplus +typedef float _Decimal32 __attribute__((mode(SD))); +#endif + +extern void foo (_Decimal32); +_Decimal32 *p; + +extern int i; +union U { _Decimal32 a; int b; } u; + +void +blatz (void) +{ + _Decimal32 d; + u.b = i; + d = u.a; + foo (d); +} + +void +bar (void) +{ + foo (*p); +} |