aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-04-17 10:28:21 +0200
committerMartin Liska <marxin@gcc.gnu.org>2018-04-17 08:28:21 +0000
commit1236cd666661babbcf37820e8e2118e39f476632 (patch)
treed957cb03bb2a5c6f87e6d6272e61c439bc335996
parent7044c89cfd51f35a37e7a83f173a35d0e8b01b0f (diff)
downloadgcc-1236cd666661babbcf37820e8e2118e39f476632.zip
gcc-1236cd666661babbcf37820e8e2118e39f476632.tar.gz
gcc-1236cd666661babbcf37820e8e2118e39f476632.tar.bz2
Fix coding style and add a new test-case (PR lto/85405).
2018-04-17 Martin Liska <mliska@suse.cz> PR lto/85405 * ipa-devirt.c (odr_types_equivalent_p): Remove trailing in message, remote space in between '_G' and '('. 2018-04-17 Martin Liska <mliska@suse.cz> PR lto/85405 * g++.dg/lto/pr85405b_0.C: New test. * g++.dg/lto/pr85405b_1.C: New test. From-SVN: r259431
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-devirt.c2
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/lto/pr85405b_0.C18
-rw-r--r--gcc/testsuite/g++.dg/lto/pr85405b_1.C9
5 files changed, 40 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a086530..186665e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-17 Martin Liska <mliska@suse.cz>
+
+ PR lto/85405
+ * ipa-devirt.c (odr_types_equivalent_p): Remove trailing
+ in message, remote space in between '_G' and '('.
+
2018-04-17 Jakub Jelinek <jakub@redhat.com>
PR target/85281
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 5da0f72..bdda7d6 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -1590,7 +1590,7 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned,
if (DECL_BIT_FIELD (f1) != DECL_BIT_FIELD (f2))
{
warn_odr (t1, t2, f1, f2, warn, warned,
- G_ ("one field is bitfield while other is not "));
+ G_("one field is bitfield while other is not"));
return false;
}
else
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 23c519e..d1d1560 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,12 @@
2018-04-17 Martin Liska <mliska@suse.cz>
PR lto/85405
+ * g++.dg/lto/pr85405b_0.C: New test.
+ * g++.dg/lto/pr85405b_1.C: New test.
+
+2018-04-17 Martin Liska <mliska@suse.cz>
+
+ PR lto/85405
* g++.dg/lto/pr85405_0.C: New test.
* g++.dg/lto/pr85405_1.C: New test.
diff --git a/gcc/testsuite/g++.dg/lto/pr85405b_0.C b/gcc/testsuite/g++.dg/lto/pr85405b_0.C
new file mode 100644
index 0000000..a692abb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr85405b_0.C
@@ -0,0 +1,18 @@
+// { dg-lto-do link }
+// { dg-lto-options {{-fPIC -shared -flto}} }
+
+class VclReferenceBase { // { dg-lto-warning "7: type 'struct VclReferenceBase' violates the C\\+\\+ One Definition Rule" }
+ int mnRefCnt;
+ int mbDisposed : 3;
+ virtual ~VclReferenceBase();
+};
+class a;
+class b {
+ a &e;
+ bool c();
+};
+class B {
+ VclReferenceBase d;
+};
+class a : B {};
+bool b::c() { return false; }
diff --git a/gcc/testsuite/g++.dg/lto/pr85405b_1.C b/gcc/testsuite/g++.dg/lto/pr85405b_1.C
new file mode 100644
index 0000000..fd98e63
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lto/pr85405b_1.C
@@ -0,0 +1,9 @@
+class VclReferenceBase {
+ int mnRefCnt;
+ int mbDisposed: 7; // { dg-lto-message "19: a field of same name but different type is defined in another translation unit" }
+
+protected:
+ virtual ~VclReferenceBase();
+};
+class : VclReferenceBase {
+} a;