PR lto/84044
* ipa-devirt.c (odr_types_equivalent_p): Use operand_equal_p to
compare ENUM values.
* g++.dg/lto/odr-4_0.C: New testcase.
* g++.dg/lto/odr-4_1.C: New testcase.
From-SVN: r266334
+2018-11-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/84044
+ * ipa-devirt.c (odr_types_equivalent_p): Use operand_equal_p to
+ compare ENUM values.
+
2018-11-20 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/87895
" is defined in another translation unit"));
return false;
}
- if (TREE_VALUE (v1) != TREE_VALUE (v2))
+ if (!operand_equal_p (TREE_VALUE (v1), TREE_VALUE (v2), 0))
{
warn_odr (t1, t2, NULL, NULL, warn, warned,
G_("an enum with different values is defined"
+2018-11-20 Jan Hubicka <hubicka@ucw.cz>
+
+ PR lto/84044
+ * g++.dg/lto/odr-4_0.C: New testcase.
+ * g++.dg/lto/odr-4_1.C: New testcase.
+
2018-11-20 Jakub Jelinek <jakub@redhat.com>
PR c++/88110
--- /dev/null
+// { dg-lto-do link }
+// { dg-lto-options { -O2 -flto } }
+struct B {
+ enum class E { V0, V1 };
+ virtual ~B();
+ E e;
+};
+
+B b;
+
+int main() {}
--- /dev/null
+struct B {
+ enum class E { V0, V1 };
+ virtual ~B();
+ E e;
+};
+
+B::~B() = default;
+
+