CBFalconer said:
Please cite the section of the Standard that requires the source code of
a called function to be present at compilation.
So if it were accompanied by int y(void) { return 124; } that would
*not* be standard C? What are the criteria?
A given program may or may not be standard C, but if the program uses
anything beyond the standard library - its own functions, other library
functions, what have you - the only way to determine whether it qualifies
as standard C is to examine the code.
Take the example:
x = y();
Is this standard C? Depends. Perhaps y() draws a line graph by directly
accessing the VGA hardware on a DOS machine, then returns a far pointer
to the video memory. I suspect there's no way to do this in standard C,
so to determine whether x = y(); is standard C requires examining what y
does.
The syntax may be standard C; is that sufficient to determine that the
program is, without seeing the whole program, including any additional
libraries or other modules?