On Wed, 2019-12-11 at 00:23 +0100, Jakub Jelinek wrote:
> Hi!
> 
> The following testcase ICEs, because gimple_call_alloc_size doesn't
> always
> return a sizetype typed INTEGER_CST, which the callers rely on
> (compare
> those converted to wide_int with other wide_ints with the sizetype
> precision).  If alloc_size attribute has two arguments,
> gimple_call_alloc_size will always build a sizetype INTEGER_CST,
> but if it is just one, it returns what is passed to the argument,
> whatever type it has, so could be wider (e.g. __int128) or narrower
> like in the testcase on lp64.
> 
> Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
> ok for
> trunk?
> 
> 2019-12-10  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR tree-optimization/92891
>       * builtins.c (gimple_call_alloc_size): Convert size to sizetype
>       before returning it.
> 
>       * gcc.c-torture/compile/pr92891.c: New test.
OK.

jeff
> 

Reply via email to