DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(cpp.info.gz) Other Directives

Info Catalog (cpp.info.gz) Combining Sources (cpp.info.gz) Top (cpp.info.gz) Output
 
 Miscellaneous Preprocessing Directives
 ======================================
 
    This section describes three additional preprocessing directives.
 They are not very useful, but are mentioned for completeness.
 
    The "null directive" consists of a `#' followed by a Newline, with
 only whitespace (including comments) in between.  A null directive is
 understood as a preprocessing directive but has no effect on the
 preprocessor output.  The primary significance of the existence of the
 null directive is that an input line consisting of just a `#' will
 produce no output, rather than a line of output containing just a `#'.
 Supposedly some old C programs contain such lines.
 
    The ANSI standard specifies that the effect of the `#pragma'
 directive is implementation-defined.  In the GNU C preprocessor,
 `#pragma' directives are not used, except for `#pragma once' (
 Once-Only.).  However, they are left in the preprocessor output, so
 they are available to the compilation pass.
 
    The `#ident' directive is supported for compatibility with certain
 other systems.  It is followed by a line of text.  On some systems, the
 text is copied into a special place in the object file; on most systems,
 the text is ignored and this directive has no effect.  Typically
 `#ident' is only used in header files supplied with those systems where
 it is meaningful.
 
Info Catalog (cpp.info.gz) Combining Sources (cpp.info.gz) Top (cpp.info.gz) Output
automatically generated byinfo2html