1 // PR c++/31809 2 // { dg-do run } 3 // { dg-options "-O2" } 4 5 struct S 6 { 7 unsigned v; 8 static inline S f (unsigned a); 9 }; 10 11 inline S f(unsigned a)12S::f (unsigned a) 13 { 14 static S t = { a }; 15 return t; 16 } 17 18 const static S s = S::f (26); 19 20 extern "C" void abort (void); 21 22 int main()23main () 24 { 25 S t = s; 26 if (t.v != 26) 27 abort (); 28 return 0; 29 } 30