What's implementation defined?
Doug Gwyn
gwyn at smoke.BRL.MIL
Mon Dec 5 04:20:45 AEST 1988
In article <1988Dec3.224807.29121 at utzoo.uucp> henry at utzoo.uucp (Henry Spencer) writes:
>Also, returning for a moment to refusal to compile not being an option,
>the ice is thin here in places. For example, one can write something
>like "#include x y z" where x, y, and z are macros, and the manner in
>which the resulting preprocessor tokens between (e.g.) a `<' and a `>' are
>combined into a single header name is implementation-defined. That means
>the combination has to happen, somehow. However, there is no guarantee
>that the combination function will yield useful results.
I don't see that this example is at all on thin ice. Using the
implementation definition, a definite header name must be produced,
or else it is illegal syntax. The syntax for #include is spelled out.
Also what happens once has a header name is spelled out. How does
this differ from
#include "foo"
? If no file matching the name exists, it is an incorrect program.
More information about the Comp.std.c
mailing list