aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/expr/cond6.C
blob: 8f7f084ce5425d6c1781ce9e43c7148d9ac50222 (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
// { dg-do run }

extern "C" void abort ();
bool ok = false;

struct B {
  B() {}
  B(const B& b) { ok = true; }
};

struct D : public B {
  D() {}
  D(const D& d) : B() {}
};

D d;
B b;

D f() {
  return d;
}

int main () {
  b = (true ? f() : b);
  return !ok;
}