Richard Biener <richard.guent...@gmail.com> writes: > On Fri, May 2, 2014 at 9:19 PM, Richard Sandiford > <rdsandif...@googlemail.com> wrote: >> I'd hoped the days of zero-precision INTEGER_CSTs were behind us after >> Richard's patch to remove min amd max values from zero-width bitfields, >> but a boostrap-ubsan showed otherwise. One source is in: >> >> null_pointer_node = build_int_cst (build_pointer_type (void_type_node), 0); >> >> if no_target, since the precision of the type comes from ptr_mode, >> which remains the default VOIDmode. Maybe that's a bug, but setting >> it to an arbitrary nonzero value would also be dangerous. > > Can you explain what 'no_target' should be? ptr_mode should never be > VOIDmode.
Sorry, meant "no_backend" rather than "no_target". See do_compile. > So I don't think we want this patch. Instead stor-layout should > ICE on zero-precision integer/pointer types. What should happen for void_zero_node? Thanks, Richard