Targets with pre-C89 libraries (was Re: Help wanted from target maintainers re: fixincludes/fixproto)

Zack Weinberg zack@codesourcery.com
Thu Aug 28 23:23:00 GMT 2003


"Zack Weinberg" <zack@codesourcery.com> writes:

> Fixproto is of use only for targets with unregenerate K+R C library
> headers; it should be disabled a lot more widely than it is.

To expand, it's my belief that there are very few supported targets
left, hosted or freestanding, which do not provide C89-compliant C
runtime libraries (the freestanding/embedded targets may not provide
all the functionality of a full hosted implementation, but they will
e.g. provide fully prototyped headers and the C89 mem* functions in
preference to the 4.2BSD b* functions).

I would like to validate this belief, by working out a complete list
of supported targets that don't have C89-satisfactory runtimes, and
then I would like to propose that this should be the target obsoletion
list for the 3.4 release (i.e. removed entirely from 3.5).  A
consequence of eliminating all such targets would be that fixproto
could be discarded, and certain aspects of target configuration could
be simplified.

For purposes of this discussion, let us define a target with a
C89-satisfactory runtime as satisfying the following three conditions:

1) fixproto does nothing useful
2) The ctrl_quotes_def, ctrl_quotes_use, io_quotes_use, and
   io_quotes_def fixincludes edits do nothing useful
3) TARGET_MEM_FUNCTIONS is defined, or could safely be defined

(I suspect there are other fixincludes edits that could also be
removed if we got to this point, but I don't know which they are).

zw



More information about the Gcc mailing list