view gcc/testsuite/g++.dg/lto/pr83121_0.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

// { dg-lto-do link }
// { dg-lto-options {{-O0 -flto}} }
/* We need -O0 to avoid the "Environment" locals in the test functions
   from being optimized away.  */

struct Environment { // { dg-lto-warning "8: type 'struct Environment' violates the C\\+\\+ One Definition Rule" }
  struct AsyncHooks { // { dg-lto-warning "10: type 'struct AsyncHooks' violates the C\\+\\+ One Definition Rule" }
    int providers_[2]; // { dg-lto-message "the first difference of corresponding definitions is field 'providers_'" }
  };
  AsyncHooks async_hooks_;
};
void fn2() { Environment a; }