]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-object-size: Handle GIMPLE_CALL
authorSiddhesh Poyarekar <siddhesh@gotplt.org>
Tue, 11 Jan 2022 14:22:43 +0000 (19:52 +0530)
committerSiddhesh Poyarekar <siddhesh@gotplt.org>
Tue, 11 Jan 2022 14:47:39 +0000 (20:17 +0530)
commit1f07810659616221c3bf4177c1fc2ca3607f7728
treed1cfc6cb9825541f4f71d526e1e511d8ee4fff1a
parentea19c8f33a3a8d2b52f89f1fade0a21e3c779190
tree-object-size: Handle GIMPLE_CALL

Handle non-constant expressions in GIMPLE_CALL arguments.  Also handle
alloca.

gcc/ChangeLog:

PR middle-end/70090
* tree-object-size.c (alloc_object_size): Make and return
non-constant size expression.
(call_object_size): Return expression or unknown based on
whether dynamic object size is requested.

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]: Alter expected result for dynamic
object size.
* 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>
gcc/testsuite/gcc.dg/builtin-dynamic-object-size-0.c
gcc/testsuite/gcc.dg/builtin-object-size-1.c
gcc/testsuite/gcc.dg/builtin-object-size-2.c
gcc/testsuite/gcc.dg/builtin-object-size-3.c
gcc/testsuite/gcc.dg/builtin-object-size-4.c
gcc/tree-object-size.c