Fixes e.g. c-c++-common/Wsizeof-pointer-memaccess1.c
gcc/ChangeLog:
* fold-const.c (operand_equal_p): Handle location wrappers.
* tree.c (inchash::add_expr): Likewise.
---
gcc/fold-const.c | 3 +++
gcc/tree.c | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index e9cd968..ababa68 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2802,6 +2802,9 @@ operand_equal_p (const_tree arg0, const_tree arg1,
unsigned int flags)
!= TYPE_ADDR_SPACE (TREE_TYPE (TREE_TYPE (arg1)))))
return 0;
+ STRIP_ANY_LOCATION_WRAPPER (arg0);
+ STRIP_ANY_LOCATION_WRAPPER (arg1);
+
/* Check equality of integer constants before bailing out due to
precision differences. */
if (TREE_CODE (arg0) == INTEGER_CST && TREE_CODE (arg1) == INTEGER_CST)
diff --git a/gcc/tree.c b/gcc/tree.c
index f71b484..6ef290d 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -7092,6 +7092,7 @@ add_expr (const_tree t, inchash::hash &hstate, unsigned
int flags)
if (!(flags & OEP_ADDRESS_OF))
STRIP_NOPS (t);
+ STRIP_ANY_LOCATION_WRAPPER (t);
code = TREE_CODE (t);
--
1.8.5.3