Relaxes certain rules when producing preprocessed compiler output, to provide greater flexibility when preprocessing assembly language source code.
Use this option to relax certain preprocessor rules when generating preprocessed output
from assembly language source files. Specifically, the following special cases are permitted
that would normally produce a compiler error:
Lines beginning with a '#' character followed by a space and a number, that would
normally indicate a GNU non-standard line marker, are ignored and copied verbatim into
the preprocessed output.
Unrecognized preprocessing directives are ignored and copied verbatim into the
Where the token-paste '#' operator is used in a function-like macro, if it is used
with a name that is not a macro parameter, the name is copied verbatim into the
preprocessed output together with the preceding '#' character.
For example if the source file contains:
# define mymacro(arg) foo #bar arg
--preprocess_assembly option produces a preprocessed output
foo #bar x
This option is only valid when producing preprocessed output without continuing
compilation, for example when using the -E, -P or -C command line options. It is ignored in