See Implementation-defined behavior in The C Preprocessor, for details of these aspects of implementation-defined behavior.
#pragma
directives where header name
preprocessing tokens are recognized (C11 6.4, C11 6.4.7).
#include
directive are combined into a header
name (C90 6.8.2, C99 and C11 6.10.2).
#include
processing (C90 6.8.2, C99
and C11 6.10.2).
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.
__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).