4.13 Preprocessing Directives
See Implementation-defined behavior in The C Preprocessor, for details of these aspects of implementation-defined behavior.
- The locations within
#pragma
directives where header name preprocessing tokens are recognized (C11 6.4, C11 6.4.7). - How sequences in both forms of header names are mapped to headers or external source file names (C90 6.1.7, C99 and C11 6.4.7).
- Whether the value of a character constant in a constant expression that controls conditional inclusion matches the value of the same character constant in the execution character set (C90 6.8.1, C99 and C11 6.10.1).
- Whether the value of a single-character character constant in a constant expression that controls conditional inclusion may have a negative value (C90 6.8.1, C99 and C11 6.10.1).
- The places that are searched for an included ‘<>’ delimited header, and how the places are specified or the header is identified (C90 6.8.2, C99 and C11 6.10.2).
- How the named source file is searched for in an included ‘""’ delimited header (C90 6.8.2, C99 and C11 6.10.2).
- The method by which preprocessing tokens (possibly resulting from macro expansion) in a
#include
directive are combined into a header name (C90 6.8.2, C99 and C11 6.10.2). - The nesting limit for
#include
processing (C90 6.8.2, C99 and C11 6.10.2). - Whether the ‘#’ operator inserts a ‘\’ character before the ‘\’ character that begins a universal character name in a character constant or string literal (C99 and C11 6.10.3.2).
- The behavior on each recognized non-
STDC #pragma
directive (C90 6.8.6, C99 and C11 6.10.6).See Pragmas in The C Preprocessor, for details of pragmas accepted by GCC on all targets. See Pragmas Accepted by GCC, for details of target-specific pragmas.
- The definitions for
__DATE__
and__TIME__
when respectively, the date and time of translation are not available (C90 6.8.8, C99 6.10.8, C11 6.10.8.1).
Next: Library functions implementation, Previous: Statements implementation, Up: C Implementation [Contents][Index]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.4.0/gcc/Preprocessing-directives-implementation.html