annotate gcc/testsuite/g++.dg/lto/pr85405_0.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 // { dg-lto-do link }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 // { dg-require-effective-target shared }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 // { dg-require-effective-target fpic }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 // { dg-lto-options {{-fPIC -shared -flto}} }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 class VclReferenceBase { // { dg-lto-warning "7: type 'struct VclReferenceBase' violates the C\\+\\+ One Definition Rule" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 int mnRefCnt;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 bool mbDisposed : 1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 virtual ~VclReferenceBase();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 class a;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 class b {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 a &e;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 bool c();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 class B {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 VclReferenceBase d;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 class a : B {};
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 bool b::c() { return false; }