diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-11-10 20:02:30 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-11-10 20:02:30 +0100 |
commit | ea17de23b70df0b90005582a692705f23d062bec (patch) | |
tree | 0f2b8b85031587c00bdd847dc81bd7555942816a /gcc/tree-object-size.c | |
parent | 8851b42977a7c8443e59037733f4b134224964e6 (diff) | |
download | gcc-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.c | 2 |
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); |