23.13 Preprocessing Directives
Implementation-Defined Behavior for Preprocessing Directives is covered in section G.3.13 of the ANSI C Standard.
Does the value of a single-character constant in a constant expression, that controls conditional inclusion, match the value of the same character constant in the execution character set? (ISO 6.8.1)
Yes.
Can such a character constant have a negative value? (ISO 6.8.1)
Yes.
What method is used for locating includable source files? (ISO 6.8.2)
The preprocessor searches the current directory, followed by directories named using command-line options.
How are headers identified, or the places specified? (ISO 6.8.2)
The headers are identified on the #include directive, enclosed between < and > delimiters, or between “ and ” delimiters. The places are specified using command-line options.
Are quoted names supported for includable source files? (ISO 6.8.2)
Yes.
What is the mapping between delimited character sequences and external source file names? (ISO 6.8.2)
The identity function.
Describe the behavior of each recognized #pragma directive. (ISO 6.8.6)
Pragma | Behavior |
---|---|
#pragma code
section-name | Names the code section. |
#pragma code | Resets the name of the code section to its
default (viz., .text ). |
#pragma config | Sets configuration bits or registers. |
#pragma idata
section-name | Names the initialized data section. |
#pragma idata | Resets the name of the initialized data
section to its default value (viz., .data ). |
#pragma udata
section-name | Names the uninitialized data section. |
#pragma udata | Resets the name of the uninitialized data
section to its default value (viz., .bss ). |
#pragma interrupt
function-name | Designates function-name as an interrupt function. |
What are the definitions for __DATE__
and
__TIME__
respectively, when the date and time of translation are
not available? (ISO 6.8.8)
Not applicable. The compiler is not supported in environments where these functions are not available.