summaryrefslogtreecommitdiff
path: root/gcc/tree-object-size.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-11-10 20:02:30 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-11-10 20:02:30 +0100
commitea17de23b70df0b90005582a692705f23d062bec (patch)
tree0f2b8b85031587c00bdd847dc81bd7555942816a /gcc/tree-object-size.c
parent8851b42977a7c8443e59037733f4b134224964e6 (diff)
downloadgcc-ea17de23b70df0b90005582a692705f23d062bec.tar.gz
re PR middle-end/51077 (Endless recursion with __builtin_object_size)
PR middle-end/51077 * tree-object-size.c (addr_object_size): Check TREE_CODE of MEM_REF's operand rather than code of the MEM_REF itself. * gcc.c-torture/compile/pr51077.c: New test. From-SVN: r181263
Diffstat (limited to 'gcc/tree-object-size.c')
-rw-r--r--gcc/tree-object-size.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index 017f8c5e933..326b2e4c21b 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -175,7 +175,7 @@ addr_object_size (struct object_size_info *osi, const_tree ptr,
unsigned HOST_WIDE_INT sz;
if (!osi || (object_size_type & 1) != 0
- || TREE_CODE (pt_var) != SSA_NAME)
+ || TREE_CODE (TREE_OPERAND (pt_var, 0)) != SSA_NAME)
{
sz = compute_builtin_object_size (TREE_OPERAND (pt_var, 0),
object_size_type & ~1);