Is the output of the preprocessor deterministic ?



Is the output of the C preprocessor deterministic ? What I mean
by that is , given 2 compilers which conform to the same standard,
will their preprocessors produce identical output given as input
the same file ? If not then how much variation is allowed ? Is it
just a bit more or less white space here and there or could could
there be larger differences ?

If the output is not deterministic then is it possible that the output
of the preprocessor of one compiler can not be processed correctly
by another compiler ?

Spiros Bousbouras

.



Relevant Pages

  • Re: Is C99 the final C? (some suggestions)
    ... This would violate the division between preprocessor and compiler too ... much (the preprocessor would have to understand quite a lot of C semantics). ... ...This is legal C (as per the Standard), but it overflows the stack on ...
    (comp.lang.c)
  • Re: #define and (brackets)
    ... The compiler doesn't second-guess. ... STRIZE is passed a value x as NUM. ... The preprocessor again creates ... it must evaluate the macro but this time instead of #NUM ...
    (microsoft.public.vc.language)
  • Re: more compiler switches
    ... Also print the version number of the compiler ... driver program and of the preprocessor and the compiler proper. ... C source code which should not be preprocessed. ... Like -v except the commands are not executed and all command arguments are ...
    (comp.lang.fortran)
  • Re: SmallC
    ... Well, I tried a bootstrap. ... I thought I'd notice much more missing from the preprocessor, ... compiler tests for some time. ... don't have alot of confidence in small-c's parser, ...
    (alt.lang.asm)
  • Re: Wheres the beef?
    ... > Is it possible to define a macro substitution in the C++ preprocessor so ... > heavily invested in MFC, and certain capabilities (Class Wizard & Browser ... > see is viable is by accommodating the compiler differences in compiler ... > I need to be able to call in different header files depending on the version ...
    (microsoft.public.vsnet.ide)