1 // PR c++/50793
2 // { dg-do run }
3 
4 struct NonTrivial
5 {
NonTrivialNonTrivial6   NonTrivial() { }
7 };
8 
9 struct S
10 {
11   NonTrivial nt;
12   int i;
13 };
14 
f(S s)15 int f(S s)
16 {
17   s.i = 0xdeadbeef;
18   return s.i;
19 }
20 
21 int g(S s = S())
22 {
23   return s.i;
24 }
25 
main()26 int main()
27 {
28   f(S());  // make stack dirty
29 
30   if ( g() )
31     __builtin_abort();
32 }
33