On Sat, May 24, 2014 at 4:25 PM, Segher Boessenkool wrote:
> Ping?

OK.

Ciao!
Steven





> On Tue, May 20, 2014 at 10:58:27AM -0700, Segher Boessenkool wrote:
>> The current code converts every tree to signed hwi; this ICEs with
>> values not representable as shwi, like 9999999999999999999ULL in
>> pr34154.c (and if it didn't ICE, it would print the wrong value).
>>
>> This fixes it.  Bootstrapped and tested on powerpc64-linux.  Okay
>> to apply?
>>
>>
>> Segher
>>
>>
>> 2014-05-20  Segher Boessenkool  <seg...@kernel.crashing.org>
>>
>> gcc/
>>       * stmt.c (dump_case_nodes): Don't convert values to HOST_WIDE_INT
>>       before printing.
>>
>> ---
>>  gcc/stmt.c | 18 +++++++-----------
>>  1 file changed, 7 insertions(+), 11 deletions(-)
>>
>> diff --git a/gcc/stmt.c b/gcc/stmt.c
>> index 163d495..722d34f 100644
>> --- a/gcc/stmt.c
>> +++ b/gcc/stmt.c
>> @@ -774,24 +774,20 @@ static void
>>  dump_case_nodes (FILE *f, struct case_node *root,
>>                int indent_step, int indent_level)
>>  {
>> -  HOST_WIDE_INT low, high;
>> -
>>    if (root == 0)
>>      return;
>>    indent_level++;
>>
>>    dump_case_nodes (f, root->left, indent_step, indent_level);
>>
>> -  low = tree_to_shwi (root->low);
>> -  high = tree_to_shwi (root->high);
>> -
>>    fputs (";; ", f);
>> -  if (high == low)
>> -    fprintf (f, "%*s" HOST_WIDE_INT_PRINT_DEC,
>> -          indent_step * indent_level, "", low);
>> -  else
>> -    fprintf (f, "%*s" HOST_WIDE_INT_PRINT_DEC " ... " 
>> HOST_WIDE_INT_PRINT_DEC,
>> -          indent_step * indent_level, "", low, high);
>> +  fprintf (f, "%*s", indent_step * indent_level, "");
>> +  print_dec (root->low, f, TYPE_SIGN (TREE_TYPE (root->low)));
>> +  if (!tree_int_cst_equal (root->low, root->high))
>> +    {
>> +      fprintf (f, " ... ");
>> +      print_dec (root->high, f, TYPE_SIGN (TREE_TYPE (root->high)));
>> +    }
>>    fputs ("\n", f);
>>
>>    dump_case_nodes (f, root->right, indent_step, indent_level);
>> --
>> 1.8.1.4

Reply via email to