This is the mail archive of the
mailing list for the libstdc++ project.
Re: Proposal for the 'long long' problems
On Thu, Nov 01, 2001 at 04:51:08PM -0500, Phil Edwards wrote:
> On Thu, Nov 01, 2001 at 01:09:37PM -0800, Nathan Myers wrote:
> > On Solarix 8, strtoll is there but the other C99 junk isn't.
> > You have to jimmy the configure to get long long support on
> > Solarix. That sucks.
> That's how this whole thread got started. That's precisely the
> problem I'm trying to solve.
> > The C99 features (those that are meaningful in C++ -- or did you want
> > to have a flag to turn on C99's complex?) should have flags of their own.
> --enable-c99 has been in the trunk sources for almost 7 months.
> My proposal is simply shifting some of its features from one controlling
> "found it!" variable to another. If you want to split up the C99 features
> into individual --enable-foo flags, that's a whole 'nother idea ...
Of course. But that your work is necessary at all highlights the
real problem: --enable-c99 is a sham. We're interested in some
particular extensions, some of which (also) got adopted into C99.
Since the C99 committee went out of their way to be incompatible
with C++98, it is far from a foregone conclusion how much of it
C++0x can or will adopt.
C99 as a whole is a dog's breakfast we can't possibly digest, and
trying (or pretending) can only cause confusion. If we are adopting
extensions in the expectation that they will someday appear in C++0x,
we should be labeling them that way.
How C++ and C99 are to be reconciled is a terribly complicated question.
Read Bjarne's paper "Sibling Rivalry: C and C++" for more insight into
the relationship among K&R, C89, C++98, C99, and C++0x. C++0x (or our
extensions toward it) cannot be compatible with both C++98 and C99.
ncm at cantrip dot org