This is the mail archive of the 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]

GCC Steering Committee decision on ISO C conversion

The GCC Steering Committee was asked to consider dropping traditional
(K&R) C support in the GCC sources and allow converting everything to

Various objections were raised primarily with regards to HPUX, which
by default ships with a traditional C compiler.  (Note HPUX is
currently one of the "primary" evaluation platforms.)

Out of deference to these objections, the committee agreed on a
compromise proposal which calls for converting the parts of the source
tree which are only compiled by GCC itself, thus ensuring that HPUX
users would continue to be able to bootstrap GCC for the 3.2 release
cycle.  The committee intends to revisit this issue for the 3.3
series.  Aside from the points already raised, one of the criteria
considered when this issue is brought up again may be whether
volunteers step forward to complete converting the portions we're
opening up now.

For volunteers willing to assist with the conversion, a general rule
of thumb is that we'll keep traditional C support in the parts of GCC
compiled by the stage1 bootstrap compiler.  However to avoid
confusion, below is an explicit list of the sections where we consider
traditional C required and those where we prefer ISO C.

Volunteers are encouraged to submit patches for this conversion in the
normal fashion for approval and installation.  However removal of
PARAMS from the proper areas can be checked in under the obvious rule
as long as other standard obligations are followed (e.g. proper
testing & mention of platform where it occurred, following coding
conventions, etc.)

ISO C Preferred
All non-C language frontends (cp, java, f, objc, ada)
Target libraries and modules (libgcc, crtstuff.c, fp-bit.c, libf2c,
libobjc, libjava, etc)

Traditional C Required
GCC backend (anything in libbackend.a)
C frontend (files named c-*)

GCC uses zlib (supports traditional C) and fastjar (written in ISO C)
and these directories are compiled by the stage1 compiler.  However
since these packages are imported and libjava is disabled on HPUX we
don't feel the need to make changes either way to these directories.

	The GCC Steering Committee

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