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