aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/opt/pr51895.C
blob: 84ac5e9962f95fe54c98b26ea42adea110e9cc4c (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
// PR middle-end/51895
// { dg-do compile }
// { dg-options "-O2" }

struct S
{
  long a;
  char b;
  S () : a (0), b (0) {}
  bool baz ();
};

__attribute__((noinline)) static bool
bar (S x, S y)
{
  y = x;
  return y.baz ();
}

bool
foo (S x)
{
  S y;
  return bar (x, y);
}