This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC viciously beaten by ICC in trig test!
Ian Lance Taylor <ian@wasabisystems.com> writes:
| "Stephan T. Lavavej" <stl@caltech.edu> writes:
|
| > As a user, I don't get why the C++ Standard Library gets to be in GCC, but
| > the C Standard Library doesn't. There are crazy extensions in C++ land too,
| > aren't there? If the situation with C++ were the same as the situation with
| > C, wouldn't everyone have to go forage for their own STL implementations?
| > Isn't that what people /did/ in the days of STLport and that nonsense?
|
| I see two reasons. First, it's historical. Second, C++ libraries are
I agree on the historical part. But I do not agree on the rest.
| often tied to the details of the compiler as the compiler evolves and
| adds features.
They are no more than C libraries are tied to compilers. In fact, in
the old days, libg++ used to come in a separate package. More to the
point, you have a huge amount of C++ libraries out there that are no
more tied to the details of compilers.
| Remember that the C++ standard is relatively new, and
| that very few (I think only one) C++ compiler is fully standard
| compliant.
And before we got ISO C++, there used to be de facto standard for C++:
TC++PL1, ARM, TC++PL2. Still, the situation is less chaotic.
| The C++ library relies on the details of the C++ compiler
| far more than the C library relies on the details of the C compiler.
| Even today libstdc++-v3 uses at least one g++ extension--
| attribute((strong)).
That is a non-argument. The GNU extension attribute(strong))
is *not* needed to implement the C++ standard library. It is a
helpful tool to support *different versions* of the library
source co-existing at the same time.
There are competitors out there that sell implementations of the C++
standard library only.
| G++ has always been distributed with a C++
| library--it used to be called libg++, then libstdc++, and now
| libstdc++-v3.
No. The package libg++ was distributed separately. Only with EGCS,
did we stop that separation.
-- Gaby