This is the mail archive of the gcc-help@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: __gnu_cxx error in OpenSolaris


Did you miss this bit:

**********
GCC was originally
written as the compiler for the GNU operating system.
**********

Which means what? That the compiler should not obey a standard?



#The GNU system was developed to be 100% free software, free in the
sense
that it respects the user's freedom.

Here it is clearly stated that this is a C, C++, etc. compiler not
something

It doesn't say "ISO C".

Yes it does:


This table is based on the list in the foreword to N1256 (ISO/IEC 9899:1999 (E), consolidated with ISO/IEC 9899:1999/Cor.1:2001 (E),
ISO/IEC 9899:1999/Cor.2:2004 (E) and ISO/IEC 9899:1999/Cor.3:2007 (E)).


front-end, it's not really a good choice. It documents the conformance
to C99, and the default for GCC is -std=gnu90, not even -std=gnu99 let
alone -std=c99

So it is not a C compiler!



You're arguing with two maintainers of GCC about what GCC is.


I can't see any result except making yourself look silly.

That is, everyone who argues with GCC developers is silly? Very nice!



It's a tool, yes. A very flexible one, so there have to be some
defaults chosen for its behaviour.  No set of defaults will please
everyone, so on that basis keeping the same defaults as we have now
causes the least disruption.

When you buy screwdrivers, tools in general,. they all conform to standards
or else you wouldn't be able to use them. It is that simple. A compiler
must conform to standards. It must accept only strings (programs) that
follow the standard.



Your impression was wrong, it's not "all about" any single thing,
because what defines a useful compiler means different things to
different people.

The problem is flexibility. Either you obey the standard and you have a conforming compiler or else you have a program that is something else. POSIX is similar example: either you follow it or don't care about it. But if we start not to care about standards, we are in big trouble.


I care very much about making G++ conform closely to the C++ standard
so I can use it to write conforming code whenever possible, but I
disagree that all extensions should be disabled by default.   If you

And I strongly disagree with this last statement! This is the root of all
evil. This is why people create programs that do not compile in
different architectures/systems.


want GCC to follow the standards you can use the appropriate switches.

And how can I force developers to write conforming code when the compiler itself welcomes violation of all standards?

A.S.





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