diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/lto/pr83121_0.C	Thu Oct 25 07:37:49 2018 +0900
@@ -0,0 +1,12 @@
+// { 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; }