On Dec 9, 2007, at 2:38 PM, Neil Booth wrote:
> Chris Lattner wrote:-
>
>> #define CHAR_BIT __builtin_config_info("target_char_bit")
>> #define SCHAR_MAX __builtin_config_info("target_schar_max")
>
> Hmm, sounds familiar :)
Yep, we discussed this awhile back.
>> The 'risk' to this is that it will change the preprocessed output of
>> the compiler vs GCC. For example, something silly like this will
>> expand differently.
>>
>> #define foo(x) # x
>>
>> foo(CHAR_BIT);
>>
>> However, anything that relies on that is dangerously non-conformant
>> anyway, so I don't feel too bad about breaking it :)
>
> ? That always produces "CHAR_BIT". If you an extra level of
> indirection, so that it is actually expanded, presumably you and
> GCC would get "8" each too. I don't see a problem here.
Oh right, duh. :)
-Chris
_______________________________________________
cfe-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev