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
'
(see 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.
Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.