]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-object-size: Always set computed bit for bdos [PR113012]
authorSiddhesh Poyarekar <siddhesh@gotplt.org>
Mon, 18 Dec 2023 14:44:00 +0000 (09:44 -0500)
committerSiddhesh Poyarekar <siddhesh@gotplt.org>
Wed, 20 Dec 2023 00:29:29 +0000 (19:29 -0500)
commit576c1fc4401a9dae9757ac2e4fa37d05e130fa3d
tree9dbd93c0417cb552d74300420f9b1974f7d337b6
parentfa1158c50a9f57a0b6ec73484134e3fce40b0bf3
tree-object-size: Always set computed bit for bdos [PR113012]

It is always safe to set the computed bit for dynamic object sizes at
the end of collect_object_sizes_for because even in case of a dependency
loop encountered in nested calls, we have an SSA temporary to actually
finish the object size expression.  The reexamine pass for dynamic
object sizes is only for propagation of unknowns and gimplification of
the size expressions, not for loop resolution as in the case of static
object sizes.

gcc/ChangeLog:

PR tree-optimization/113012
* tree-object-size.cc (compute_builtin_object_size): Expand
comment for dynamic object sizes.
(collect_object_sizes_for): Always set COMPUTED bitmap for
dynamic object sizes.

gcc/testsuite/ChangeLog:

PR tree-optimization/113012
* gcc.dg/ubsan/pr113012.c: New test case.

Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
gcc/testsuite/gcc.dg/ubsan/pr113012.c [new file with mode: 0644]
gcc/tree-object-size.cc