8.11 Preprocessing directives

Describes implementation-defined aspects of the Arm® C++ compiler and C++ library relating to preprocessing directives, as required by the ISO C++ Standard.

Numeric values of character literals in #if preprocessing directives (16.1).
Numeric values of character literals match the values that they have in expressions other than the #if or #elif preprocessing directives.
Sign of character literals in #if preprocessing directives (16.1).
Character literals in #if preprocessing directives are never negative.
Manner in which #include <…> source files are searched (16.2).
  • If the character sequence begins with the / character, it is interpreted as an absolute file path.
  • Otherwise, the character sequence is interpreted as a file path relative to one of the following directories:
    • The sequence of the directories specified using the -I command-line option, in the command-line order.
    • The include subdirectory in the compiler installation directory.
Manner in which #include "…" source files are searched (16.2).
  • If the character sequence begins with the / character, it is interpreted as an absolute file path.
  • Otherwise, the character sequence is interpreted as a file path relative to the parent directory of the source file that contains the #include preprocessing directive.
Nesting limit for #include preprocessing directives (16.2).
Limited only by the memory available at translation time.
Meaning of pragmas (16.6).
Arm Compiler 6 is based on LLVM and Clang technology. Clang defines several pragmas as specified by the Clang documentation at http://clang.llvm.org/docs/LanguageExtensions.html.
Definition and meaning of __STDC__ (16.8).
__STDC__ is predefined as #define __STDC__ 1.
Definition and meaning of __STDC_VERSION__ (16.8).
This macro is not predefined.
Text of __DATE__ and __TIME__ when the date or time of a translation is not available (16.8).
The date and time of the translation are always available on all supported platforms.
Non-ConfidentialPDF file icon PDF versionDUI0774J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.