low level optimization

Jim Giles jlg at lanl.gov
Fri Apr 19 07:35:25 AEST 1991


In article <1991Apr18.190403.29049 at Think.COM>, barmar at think.com (Barry Margolin) writes:
> [...]
> I interpreted the section of the standard that you quoted in another
> posting as *allowing* separate compilation.  This means that the programmer
> isn't forced to compile everything together in order to achieve the
> semantics specified by the language.  [...]

The standard _allows_ the _USER_ to decide whether to compile separately
or together.  In the standard, the word "may" applies to user choices,
the corresponding constraint on implementations is that it _must_ work
correctly when the user chooses to exercise the feature.  In this case,
if the user chooses only to recompile one file and not any of the others
(which is allowed by the "may" clause), the implementation _must_ allow
this to be linked with the previously translated files to produce a
program.

Sorry, those are the rules.  These ANSI standards describe capabilities
of the language - the requisite properties of an implementation must
be inferred from that.  And, as I said, if the standard says you _may_
do something, the implementation _must_ permit you to do it.

J. Giles



More information about the Comp.lang.c mailing list