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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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