This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Proposal for the 'long long' problems
- To: Phil Edwards <pedwards at disaster dot jaj dot com>
- Subject: Re: Proposal for the 'long long' problems
- From: Benjamin Kosnik <bkoz at redhat dot com>
- Date: Wed, 31 Oct 2001 19:39:49 -0800 (PST)
- cc: libstdc++ at gcc dot gnu dot org
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