OK, thank you for your work, I shall send patch v3 for it.

Send from Lenovo A788t.

Joseph Myers <jos...@codesourcery.com> wrote:

>On Sun, 23 Nov 2014, Chen Gang wrote:
>
>> +  gcc_assert (wi::fits_to_tree_p(value, integer_type_node));
>
>Watch formatting: space before '(' in the wi::fits_to_tree_p call.  
>Applies elsewhere in this patch as well.
>
>When making such an interface change, (a) you should update the comment on 
>builtin_define_with_int_value to explain the new interface, and (b) you 
>should check existing callers to make sure their values are indeed in 
>range, and describe the check you did.
>
>In fact, -fabi-version=0 results in __GXX_ABI_VERSION being defined to 
>999999 using builtin_define_with_int_value.  That's out of range of int on 
>targets with 16-bit int.  So that indicates against requiring the value to 
>be within range of int.  It might however be OK to require the value to be 
>within range of target long.
>
>> +  if (value >= 0)
>> +    {
>> +      sprintf (buf, "%s="HOST_WIDE_INT_PRINT_DEC"%s",
>> +           macro, value,
>> +           value <= HOST_INT_MAX
>> +           ? ""
>> +           : value <= HOST_LONG_MAX
>> +             ? "L" : "LL");
>
>Limits on the host's int and long are completely irrelevant here.  The 
>question is the target's int and long, not the host's - and consistency 
>indicates checking with wi::fits_to_tree_p (value, integer_type_node) if 
>the assertion checked with long_integer_type_node.
>
>-- 
>Joseph S. Myers
>jos...@codesourcery.com

Reply via email to