diff gcc/testsuite/g++.dg/lto/20080915_0.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/lto/20080915_0.C	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,29 @@
+// { dg-lto-do assemble }
+struct Foo {
+ static const int dummy;
+
+ int bit_field:1;
+ int dummy2:1;
+ int dummy3:1;
+};
+
+struct Bar {
+ Foo foo;
+};
+
+int func(const Bar& b) {
+ return b.foo.bit_field;
+}
+
+struct Baz {
+ Bar& operator*() {}
+};
+
+void func1(Baz baz, int i, Bar bar) {
+ i || func(bar);
+ *baz = bar;
+}
+
+void func2(Baz baz, Bar bar) {
+ func1(baz, 0, bar);
+}