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 >