aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/objc-act.c
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@gotplt.org>2022-01-11 08:08:27 +0530
committerSiddhesh Poyarekar <siddhesh@gotplt.org>2022-01-11 20:17:39 +0530
commit06bc1b0c539e3a60692d7432d15e701c38610f80 (patch)
tree2975a476439279b221cf40bdc1b47b747d1b5ddc /gcc/objc/objc-act.c
parent1f07810659616221c3bf4177c1fc2ca3607f7728 (diff)
downloadgcc-06bc1b0c539e3a60692d7432d15e701c38610f80.zip
gcc-06bc1b0c539e3a60692d7432d15e701c38610f80.tar.gz
gcc-06bc1b0c539e3a60692d7432d15e701c38610f80.tar.bz2
tree-object-size: Dynamic sizes for ADDR_EXPR
Allow returning dynamic expressions from ADDR_EXPR for __builtin_dynamic_object_size and also allow offsets to be dynamic. gcc/ChangeLog: PR middle-end/70090 * tree-object-size.c (size_valid_p): New function. (size_for_offset): Remove OFFSET constness assertion. (addr_object_size): Build dynamic expressions for object sizes and use size_valid_p to decide if it is valid for the given OBJECT_SIZE_TYPE. (compute_builtin_object_size): Allow dynamic offsets when computing size at O0. (call_object_size): Call size_valid_p. (plus_stmt_object_size): Allow non-constant offset and use size_valid_p to decide if it is valid for the given OBJECT_SIZE_TYPE. gcc/testsuite/ChangeLog: PR middle-end/70090 * gcc.dg/builtin-dynamic-object-size-0.c: Add new tests. * gcc.dg/builtin-object-size-1.c (test1) [__builtin_object_size]: Adjust expected output for dynamic object sizes. * gcc.dg/builtin-object-size-2.c (test1) [__builtin_object_size]: Likewise. * gcc.dg/builtin-object-size-3.c (test1) [__builtin_object_size]: Likewise. * gcc.dg/builtin-object-size-4.c (test1) [__builtin_object_size]: Likewise. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
Diffstat (limited to 'gcc/objc/objc-act.c')
0 files changed, 0 insertions, 0 deletions