[c] Remove unnecessary host_integerp check

Jeff Law law@redhat.com
Thu Nov 14 22:49:00 GMT 2013


On 11/14/13 13:46, Richard Sandiford wrote:
> pp_c_character_constant only calls pp_p_char for values that fit into
> a HWI of the constant's signedness (i.e. an unsigned HWI if TYPE_UNSIGNED
> and a signed HWI otherwise).  But pp_c_character_constant is only called by:
>
>      case INTEGER_CST:
>        {
> 	tree type = TREE_TYPE (e);
>          ...
> 	else if (type == char_type_node)
> 	  pp_c_character_constant (this, e);
>
> and in practice a character constant is always going to fit into a HWI.
> The current !host_integerp case simply truncates the constant to an
> unsigned int anyway.
>
> Maybe the type == wchar_type_node test is dead too, I'm not sure.
> I'm happy to remove it at the same time if that seems like the right
> thing to do.
>
> Tested on x86_64-linux-gnu.  OK to install?
>
> Thanks,
> Richard
>
>
> gcc/c-family/
> 	* c-pretty-print.c (pp_c_character_constant): Remove unnecessary
> 	host_integerp check.
Fine by me.  Your call on the type == wchar_type_code.

jeff



More information about the Gcc-patches mailing list