PR lto/85391
[official-gcc.git] / gcc / testsuite / g++.dg / lto / pr83121_0.C
blob358b55b8fbdd196ab2617770cc7091f6a6bdbb89
1 // { dg-lto-do link }
2 // { dg-lto-options {{-O0 -flto}} }
3 /* We need -O0 to avoid the "Environment" locals in the test functions
4    from being optimized away.  */
6 struct Environment { // { dg-lto-warning "8: type 'struct Environment' violates the C\\+\\+ One Definition Rule" }
7   struct AsyncHooks { // { dg-lto-warning "10: type 'struct AsyncHooks' violates the C\\+\\+ One Definition Rule" }
8     int providers_[2]; // { dg-lto-message "the first difference of corresponding definitions is field 'providers_'" }
9   };
10   AsyncHooks async_hooks_;
12 void fn2() { Environment a; }