On Wed, 19 Nov 2014, Chen Gang wrote:

> OK, thanks, what you said sounds reasonable to me. We need '(' and ')'
> for negative members, and "LL" for the members which is larger than 32
> bits.

I don't think LL is a good idea when not needed - quite possibly some of 
the macros are expected or required to have type int.  Really I think it 
would be better to require that this function is only used for values that 
fit in target int (given appropriate checks on all the users to make sure 
they fit in with that), and put a corresponding assertion there.

> And excuse me, I do not understand why use "(-9223372036854775807LL-1)"
> instead of "(-9223372036854775808LL)": compiler will report warning for
> it, but for me, it is more likely the compiler's own issue:

Because - and 9223372036854775808LL are separate tokens, and the latter is 
not a valid long long value.

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to