summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/pr20931.C
blob: 01518c06d24dde10efa99e88df86243deae05d71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// PR middle-end
// This testcase ICEd because fold checking saw a type change which
// is allowed as TYPE_CONTAINS_PLACEHOLDER_INTERNAL could change.
// { dg-do compile }
// { dg-options "-O2" }
  
int
__finite (double __x) throw ()
{
  return (__extension__
   (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
      | 0x800fffffu) + 1) >> 31));
}