aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-11-05 09:39:14 +0100
committerMartin Liska <marxin@gcc.gnu.org>2019-11-05 08:39:14 +0000
commitdb81e91cc66acc7d439750affde9374971341428 (patch)
treec40967ee2c8e8b6ce9898b2d93d3191ff5d4a17f
parentd50dbea1024a7a0a32d72f3103477e281e1989bd (diff)
downloadgcc-db81e91cc66acc7d439750affde9374971341428.zip
gcc-db81e91cc66acc7d439750affde9374971341428.tar.gz
gcc-db81e91cc66acc7d439750affde9374971341428.tar.bz2
Remove FIELD_DECL leftover.
2019-11-05 Martin Liska <mliska@suse.cz> PR c++/92339 * fold-const.c (operand_compare::hash_operand): Remove FIELD_DECL handling. 2019-11-05 Martin Liska <mliska@suse.cz> PR c++/92339 * g++.dg/pr92339.C: New test. From-SVN: r277816
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/fold-const.c4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/pr92339.C10
4 files changed, 21 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f492ea6..2d11f3d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-05 Martin Liska <mliska@suse.cz>
+
+ PR c++/92339
+ * fold-const.c (operand_compare::hash_operand): Remove
+ FIELD_DECL handling.
+
2019-11-05 Aldy Hernandez <aldyh@redhat.com>
* tree-vrp.h (vrp_bitmap_equal_p): Remove.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 1e25859..88a069f 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -3682,10 +3682,6 @@ operand_compare::hash_operand (const_tree t, inchash::hash &hstate,
case IDENTIFIER_NODE:
hstate.add_object (IDENTIFIER_HASH_VALUE (t));
return;
- case FIELD_DECL:
- inchash::add_expr (DECL_FIELD_OFFSET (t), hstate, flags);
- inchash::add_expr (DECL_FIELD_BIT_OFFSET (t), hstate, flags);
- return;
case FUNCTION_DECL:
/* When referring to a built-in FUNCTION_DECL, use the __builtin__ form.
Otherwise nodes that compare equal according to operand_equal_p might
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cdb6b31..db8798b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-05 Martin Liska <mliska@suse.cz>
+
+ PR c++/92339
+ * g++.dg/pr92339.C: New test.
+
2019-11-05 Jakub Jelinek <jakub@redhat.com>
* g++.dg/gomp/declare-variant-7.C: New test.
diff --git a/gcc/testsuite/g++.dg/pr92339.C b/gcc/testsuite/g++.dg/pr92339.C
new file mode 100644
index 0000000..5bf15b0
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr92339.C
@@ -0,0 +1,10 @@
+/* PR c++/92339 */
+/* { dg-options "-std=c++11" } */
+
+class a {
+ template <typename b, b a::*> struct c { c(a *); };
+ int m_fn1();
+ unsigned long d;
+ using e = c<unsigned long, &a::d>;
+};
+int a::m_fn1() { e(this); return 0; }