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]

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

"Zack Weinberg" <> 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).


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