diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-09-02 14:25:14 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-09-02 14:25:14 +0200 |
commit | ded97380f0703da62c2f4c61cf46eafc56f6aa78 (patch) | |
tree | efb22c41209ac029bd4fbc0200c7d0c9bd288ef2 /gcc/tree-object-size.c | |
parent | 683ebd75535df2238c74cec637724a906bc228df (diff) | |
download | gcc-ded97380f0703da62c2f4c61cf46eafc56f6aa78.zip gcc-ded97380f0703da62c2f4c61cf46eafc56f6aa78.tar.gz gcc-ded97380f0703da62c2f4c61cf46eafc56f6aa78.tar.bz2 |
tree-object-size.c (addr_object_size): Always use object_size_type 0 or 2 when determining the pointer pointed object size.
* tree-object-size.c (addr_object_size): Always use object_size_type
0 or 2 when determining the pointer pointed object size.
* gcc.dg/builtin-object-size-9.c: New test.
From-SVN: r151323
Diffstat (limited to 'gcc/tree-object-size.c')
-rw-r--r-- | gcc/tree-object-size.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c index 5b9fe38..443f280 100644 --- a/gcc/tree-object-size.c +++ b/gcc/tree-object-size.c @@ -171,9 +171,9 @@ addr_object_size (struct object_size_info *osi, const_tree ptr, { unsigned HOST_WIDE_INT sz; - if (!osi) + if (!osi || (object_size_type & 1) != 0) sz = compute_builtin_object_size (TREE_OPERAND (pt_var, 0), - object_size_type); + object_size_type & ~1); else { tree var = TREE_OPERAND (pt_var, 0); |