summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/complex1.C
blob: 5c035142851243ba98d97eafe037f31f322bbb1c (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
28
// PR middle-end/18882
// Origin: Petr Mikulik <mikulik@physics.muni.cz>
// Testcase by Wolfgang Bangerth <bangerth@dealii.com>

// { dg-do run }
// { dg-options "" }

extern "C" void abort ();

struct C {
  __complex__ long double c; 
};

void foo()
{ 
  C x = {2+2i}; 

  int n = 1; 
  C y = (n==1) ? x : (C){3+3i}; 
  if (__imag__ y.c != 2) 
    abort (); 
}

int main(void)
{
  foo ();
  return 0;
}