[C PATCH] Fix set_nonincremental_init_from_string (PR c/67410)

Marek Polacek polacek@redhat.com
Fri Aug 12 16:04:00 GMT 2016


On Fri, Aug 12, 2016 at 05:54:55PM +0200, Jakub Jelinek wrote:
> Hi!
> 
> The wide-int conversion of set_nonincremental_init_from_string broke this
> function.
> Before we used val[bitpos < HOST_BITS_PER_WIDE_INT], but val[1] and val[0]
> has been swapped, so either it should be bitpos >= HOST_BITS_PER_WIDE_INT,
> or bitpos / HOST_BITS_PER_WIDE_INT.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/6.2?
> 
> 2016-08-12  Jakub Jelinek  <jakub@redhat.com>
> 	    Martin Liska  <mliska@suse.cz>
> 
> 	PR c/67410
> 	* c-typeck.c (set_nonincremental_init_from_string): Use / instead of
> 	% to determine val element to change.  Assert that
> 	wchar_bytes * charwidth fits into val array.
> 
> 	* gcc.dg/pr67410.c: New test.

LGTM.

	Marek



More information about the Gcc-patches mailing list