This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Proposal for the 'long long' problems



Your grouping is interesting, and I think it is accurate.

> a)  Because the default is now to enable them, the help text for
>     GLIBCPP_ENABLE_LONG_LONG should be changed to say that --disable-long-long
>     is that one that needs to be explicitly used, not --enable.  A 1-line diff.
> 
> b)  Same for GLIBCPP_ENABLE_C99.

Seems reasonable.

> c)  The ac_c99_* variables be more granular.  For example, if lldiv_t is not
>     available, we turn off ac_c99_stdlib, which may have been turned on by the
>     presence of strtoll & company.  Granted that the {presence,absence} of one
>     probably indicates that of the other, we can't tell from the result.

Dude, you are in for a world of pain.

I have failed miserably with lldiv_t in the past, check out the ChangeLogs.

I'm not convinced this can be done.

> d)  Instead of one preproc symbol, we define three:
>     _GLIBCPP_USE_LONG_LONG_IO     if strtoll, etc, are present; predicate
>                                   this on (the reworked) ac_c99_stdlib and
>                                   maybe ac_c99_wchar
>     _GLIBCPP_USE_LONG_LONG_MATH   if lldiv_t and such are present; predicate
>                                   on ac_c99_math (including lldiv_t)
>     _GLIBCPP_USE_LONG_LONG_ANY    if any 'long long' support is possible
>                                   anywhere at all

Modified proposal: I say enable long long only works for the IO section. 
The rest is part of C99 support. 

What say you? I think this will be easier, and have less chance of breaking.

-benjamin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]