aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/reg-stack3.C
blob: 48dcb335b21e9a7b1701c8384b656b45a0c75e5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// PR target/12712
// Origin: Markus Schoder <gccbug@gammarayburst.de>

// This used to segfault on x86 because the reg-stack pass
// created an unreachable basic block by purging an outgoing
// edge, and was not prepared to handle it.

// { dg-do compile }

struct A
{
  ~A();
  float f(float x);
  float g() const {return 0;}
};

void h()
{
  A a, b;
  a.f(b.g() + 1);
}