|Dead code elimination email@example.com (Steve Boswell) (1991-10-26)|
|re: Dead code elimination firstname.lastname@example.org (Chuck Lins) (1991-10-28)|
|Re: Dead code elimination email@example.com (1991-10-29)|
|Re: Dead code elimination firstname.lastname@example.org (1991-11-01)|
|Re: Dead code elimination email@example.com (1991-11-05)|
|Re: Dead code elimination firstname.lastname@example.org (1991-11-05)|
|Re: Dead code elimination email@example.com (1991-11-05)|
|Re: Dead code elimination firstname.lastname@example.org (1991-11-06)|
|Re: Dead Code Elimination email@example.com (1991-11-07)|
|[2 later articles]|
|From:||firstname.lastname@example.org (Henry Spencer)|
|Keywords:||C, linker, history|
|Organization:||U of Toronto Zoology|
|Date:||Tue, 29 Oct 1991 16:31:06 GMT|
In article 91-10-109 Chuck Lins <email@example.com> writes:
>Of course as John mentioned, routines like printf cause extra code to be
>[Son of Soapbox: I've seen Fortran compilers that scan the format statements
>at compile time and emit external references to just the routines needed...
It is worth noting that the *original* C implementation did not bring the
printf floating-point conversions (which were the only really bulky part
in those long-gone days of small, simple code) into the object module
unless the program actually used floating point. This needed minimal
cooperation from the compiler -- emitting a request for a special global
symbol when floating-point code was used -- and careful ordering of
sequentially-searched libraries. It was generally a good bet that a
program which used floating-point numbers was going to print a few.
I fear that the bulk of stuff brought in by printf nowadays is probably
not conversions, but bloated versions of support facilities like the
i/o library. Clever compilers will not help this, because even if you
break printf into pieces, all the pieces will want the same support.
Henry Spencer @ U of Toronto Zoology, firstname.lastname@example.org utzoo!henry
Return to the
Search the comp.compilers archives again.