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: Convert 3.2 sources to ISO C90


Marc Espie wrote:
> 
> I still have some big troubles understanding what's the point in
> moving gcc sources to ISO-C ?
> 
> It's not as if K&R C was such an arcane dialect.  Are there really that
> many gcc developers that don't know K&R C. Heck, I'm much more confused
> by the mostly unreadable GNU coding conventions myself.

That code would be more readable if you didn't have to have all
the PARAMS and the VA_FIXEDARGS and the like, eh?

But yes, this is a minor issue, just as removing obsolete configs
is a minor issue.  To me the main problem with the K&R requirement
is that it adds a bunch of programming rules that you can't test for
without having an actual K&R compiler (-traditional not being a
perfect emulation).  This is very much like the obsolete config
situation, where infrastructure changes are easier if there aren't
a lot of obsolete broken configs to change.

A couple folks have pointed out that K&R C is not well-specified
either, and indeed all the compilers from the K&R era had slightly
different behavior.  Since probably nobody bootstraps on SunOS etc
anymore, the only thing we really know about GCC's K&R compat is
that it can be built with HP's bundled compiler sometimes.  Not
a very solid basis on which to write your code!

Again, a minor issue, and I wouldn't even have brought it up if
I didn't think that the time and complexity savings justified the
small effort of making the transition.

> Plust, it's going to divert some people's energy (Jeff) into making
> HP-UX work still (and loads of bug-reports I am sure).

It's not at all clear to me that Jeff would have to do anything
because of the switch.  In fact, what I've heard so far is that
the status quo involves extra work for each release, clearing
out ISOisms in the code.

Stan


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