summaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/dfp/pr35620.c
blob: 2d56ab76b84468b6ce04b90af04d014c69776e60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
}