summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/complex3.C
blob: 9a3fdf3f0d2359e8dca80fba9c8552c0803d077e (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
// PR 22022
// { dg-do compile }
// { dg-options "-O2" }

_Complex float f();
_Complex float g();
_Complex float h()throw();
void i(float)throw();

float j(void)
{
  _Complex float x = h();
  try
  {
    try
    {
      x = f();
    }catch (...)
    {
      x += g();
    }
  }catch(...){}
  i(__builtin_crealf(x)+__builtin_cimagf(x));
}