Commit c1d233e3 authored by Siddhesh Poyarekar's avatar Siddhesh Poyarekar
Browse files

tree-optimization/104970: Limit size computation for access attribute



Limit object size computation only to the simple case where access
attribute has been explicitly specified.  The object passed to
__builtin_dynamic_object_size could either be a pointer or a VLA whose
size has been described using access attribute.

Further, return a valid size only if the object is a void * pointer or
points to (or is a VLA of) a type that has a constant size.

gcc/ChangeLog:

	PR tree-optimization/104970
	* tree-object-size.cc (parm_object_size): Restrict size
	computation scenarios to explicit access attributes.

gcc/testsuite/ChangeLog:

	PR tree-optimization/104970
	* gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple2,
	test_parmsz_simple3, test_parmsz_extern, test_parmsz_internal,
	test_parmsz_internal2, test_parmsz_internal3): New tests.
	(main): Use them.

Signed-off-by: default avatarSiddhesh Poyarekar <siddhesh@gotplt.org>
parent 72124f48
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment