On Wed, 26 Nov 2014, Chen Gang wrote:
> + gcc_assert (wi::fits_to_tree_p (value, char_type_node)
> + || wi::fits_to_tree_p (value, short_integer_type_node)
> + || wi::fits_to_tree_p (value, integer_type_node)
> + || wi::fits_to_tree_p (value, long_integer_type_node)
> + || wi::fits_to_tree_p (value, long_long_integer_type_node));
It doesn't make sense to check for char or short, since you can't write a
constant of one of those types. And it doesn't make sense to check for
int or long when checking for long long, as the ranges of int and long are
subsets of that of long long. So just check long long here.
> + buf = (char *) alloca (strlen (macro) + vlen + extra);
> +
> + sprintf (buf, "%s=%s"HOST_WIDE_INT_PRINT_DEC"%s%s",
> + macro,
> + value < 0 ? "(" : "",
> + value,
> + wi::fits_to_tree_p (value, char_type_node)
> + || wi::fits_to_tree_p (value, short_integer_type_node)
> + || wi::fits_to_tree_p (value, integer_type_node)
No need to check for char or short here.
--
Joseph S. Myers
[email protected]