2.6.3. Generic Compiler Pre-Defined Macro Symbols¶
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<constant> |
Defined to 1 if compiler uses Clang-based front-end. |
|
<version> |
Identifies major version number of Clang front-end. |
|
<version> |
Identifies minor version number of Clang front-end. |
|
<version> |
Identifies patch number of Clang front-end. |
|
<string> |
String representation of Clang front-end version identification. |
|
<version> |
2 |
|
<version> |
1 |
|
<version> |
4 |
|
<version> |
1002 |
|
<constant> |
Defined to 1 if compiler uses LLVM back-end. |
|
<string> |
Full string representation of Clang front-end version identification. |
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<constant> |
Defined to 1 if functions declared inline are defined and externally visible in compiler generated object files if such functions are not declared static or extern. |
|
<constant> |
Defined to 1 if functions declared inline are defined and externally visible in compiler generated object files only if such functions are declared extern. |
|
<constant> |
Defined to 1 if the compiler conforms to ISO Standard C. |
|
<constant> |
Defined to 1 if the target of the compiler is a hosted environment in which the compiler package supplies standard C runtime libraries. |
|
<constant> |
Defined to 1 if char16_t type values are UTF-16 encoded. |
|
<constant> |
Defined to 1 if char32_t type values are UTF-32 encoded. |
|
<version> |
Defined to the C Standard being applied for a given compilation based
on the |
|
<constant> |
Defined to 1 if a strictly-conforming C language variant is specified as the argument to the -std option (c89/90/99/9x/11/1x/17/18). |
See Pre-defined Compiler Macros for a list of definitions of __STDC_VERSION__ that correspond to versions of the C language standards.
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<standard> |
Indicates the C++ <standard> that is in effect for a given compilation, where <standard> is one of the following values: value => C++ Standard
------- ------------
199711L C++98
199711L C++03
201103L C++11
201402L C++14
201703L C++17
|
See Pre-defined Compiler Macros for a list of definitions of __cplusplus that correspond to versions of the C++ language standards.
Symbol / Feature |
Available |
Value / Adoption |
|---|---|---|
|
C++17 |
201603L |
|
C++14 |
201304L |
|
C++11 |
200704L |
|
C++17 |
201606L |
|
C++11 |
200809L |
|
C++14 |
201304L |
|
C++17 |
201603L |
|
C++11 / C++14 / C++17 |
200704L / 201304L / 201603L |
|
C++11 |
201711L |
|
C++11 |
200707L |
|
C++14 |
201304L |
|
C++17 |
201703L |
|
C++11 |
200604L |
|
C++14 |
201309L |
|
C++17 |
201411L |
|
C++17 |
201603L |
|
C++14 |
201304L |
|
C++17 |
201606L |
|
C++17 |
201603L |
|
C++17 |
201606L |
|
C++98 |
201806L |
|
C++11 |
201511L |
|
C++14 |
201304L |
|
C++11 |
200806L |
|
C++17 |
201606L |
|
C++11 |
200907L |
|
C++17 |
201411L |
|
C++17 |
201411L |
|
C++17 |
201510L |
|
C++17 |
201411L |
|
C++17 |
201606L |
|
C++11 |
200809L |
|
C++11 / C++17 |
200907L / 201603L |
|
C++11 |
200710L |
|
C++11 |
200710L |
|
C++14 |
201304L |
|
C++11 |
200610L |
|
C++11 / C++17 |
200410L / 201411L |
|
C++17 |
201606L |
|
C++17 |
201606L |
|
C++98 |
200806L |
|
C++11 |
200704L |
|
C++11 |
200710L |
|
C++11 |
200809L |
|
C++14 |
201304L |
|
C++11 |
200704L |
|
C++17 |
201611L |
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<constant> |
Defined to 1 if compiler generates object code that conforms to the ELF object file format (default). |
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<constant> |
Defined to 1 if compiler has been instructed to generate big-endian object code. |
|
<constant> |
Defined to 1 if compiler has been instructed to generate little-endian object code (default). |
|
<constant> |
Matches either |
|
<constant> |
4321 |
|
<constant> |
1234 |
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<constant> |
Defined to 1 if the -ffast-math or -ffp-mode=fast option is enabled (-ffast-math is implied when the deprecated -Ofast optimization level is specified on the compiler command-line). |
|
<constant> |
Defined to 1 if automatic inlining optimizations are enabled. |
|
<constant> |
Defined to 1 if automatic inlining optimizations are disabled. |
|
<constant> |
Defined to 1 if optimization is in use (-O[123szg]). |
|
<constant> |
Defined to 1 if optimizations intended to reduce compiler- generated code size are in use (-Os or -Oz option). |
Symbol |
Value Kind |
Value / Description |
|---|---|---|
|
<bytes> |
Indicates the largest alignment in <bytes> ever used for any data type on the Arm processor being compiled for. For Cortex-M0/M0+/ M3/M4/M33/R4/R5, <bytes> = 8. |
|
<type> |
unsigned short |
|
<type> |
unsigned int |
|
<bits> |
8 |
|
<constant> |
Defined to 1 if “plain” char types (not qualified with a “signed” or “unsigned” keyword) are interpreted by the compiler to be unsigned. |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<constant> |
127 |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<constant> |
32767 |
|
<bytes> |
4 |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<text> |
U |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<constant> |
2147483647 |
|
<bytes> |
4 |
|
<constant> |
2147483647 |
|
<bytes> |
4 |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<text> |
LL |
|
<string> |
“lld” |
|
<string> |
“lli” |
|
<constant> |
9223372036854775807LL |
|
<type> |
long long int |
|
<text> |
ULL |
|
<string> |
“llX” |
|
<string> |
“llo” |
|
<string> |
“llu” |
|
<string> |
“llx” |
|
<constant> |
18446744073709551615ULL |
|
<type> |
long long unsigned int |
|
<type> |
unsigned char |
|
<constant> |
127 |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<constant> |
127 |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<string> |
“hhd” |
|
<string> |
“hhi” |
|
<constant> |
127 |
|
<type> |
signed char |
|
<string> |
“hhX” |
|
<string> |
“hho” |
|
<string> |
“hhu” |
|
<string> |
“hhx” |
|
<constant> |
255 |
|
<type> |
unsigned char |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<constant> |
32767 |
|
<bytes> |
4 |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<string> |
“hd” |
|
<string> |
“hi” |
|
<constant> |
32767 |
|
<type> |
short |
|
<string> |
“hX” |
|
<string> |
“ho” |
|
<string> |
“hu” |
|
<string> |
“hx” |
|
<constant> |
65535 |
|
<type> |
unsigned short |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<text> |
U |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<constant> |
2147483647 |
|
<bytes> |
4 |
|
<constant> |
2147483647 |
|
<bytes> |
4 |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<text> |
LL |
|
<string> |
“lld” |
|
<string> |
“lli” |
|
<constant> |
9223372036854775807LL |
|
<type> |
long long int |
|
<text> |
ULL |
|
<string> |
“llX” |
|
<string> |
“llo” |
|
<string> |
“llu” |
|
<string> |
“llx” |
|
<constant> |
18446744073709551615ULL |
|
<type> |
long long unsigned int |
|
<constant> |
9223372036854775807LL |
|
<bytes> |
8 |
|
<string> |
“lld” |
|
<string> |
“lli” |
|
<constant> |
9223372036854775807LL |
|
<type> |
long long int |
|
<string> |
“llX” |
|
<string> |
“llo” |
|
<string> |
“llu” |
|
<string> |
“llx” |
|
<constant> |
18446744073709551615ULL |
|
<type> |
long long unsigned int |
|
<string> |
“lld” |
|
<string> |
“lli” |
|
<constant> |
9223372036854775807LL |
|
<type> |
long long int |
|
<constant> |
64 |
|
<string> |
“llX” |
|
<string> |
“llo” |
|
<string> |
“llu” |
|
<string> |
“llx” |
|
<constant> |
18446744073709551615ULL |
|
<type> |
long long unsigned int |
|
<text> |
LL |
|
<string> |
“lld” |
|
<string> |
“lli” |
|
<constant> |
9223372036854775807LL |
|
<type> |
long long int |
|
<bits> |
64 |
|
<text> |
ULL |
|
<string> |
“llX” |
|
<string> |
“llo” |
|
<string> |
“llu” |
|
<string> |
“llx” |
|
<constant> |
18446744073709551615ULL |
|
<type> |
long long unsigned int |
|
<constant> |
64 |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<bits> |
32 |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“x” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<constant> |
32 |
|
<constant> |
32 |
|
<constant> |
Defined to 1 if pointer type width and long type width is 32-bits. |
|
<constant> |
Defined to 1 if pointer type width and long type width is 32-bits. |
|
<bytes> |
4 |
|
<string> |
“d” |
|
<string> |
“i” |
|
<constant> |
2147483647 |
|
<type> |
int |
|
<bits> |
32 |
|
<bytes> |
4 |
|
<string> |
“X” |
|
<string> |
“o” |
|
<string> |
“u” |
|
<string> |
“X” |
|
<constant> |
4294967295U |
|
<type> |
unsigned int |
|
<bits> |
32 |
|
<bytes> |
4 |
|
<constant> |
2147483647 |
|
<constant> |
int |
|
<bits> |
32 |
|
<bytes> |
4 |
|
<constant> |
2147483647 |
|
<constant> |
int |
|
<bits> |
32 |
|
<bytes> |
4 |
|
<digits> |
9 |
|
<constant> |
1.40129846e-45F |
|
<digits> |
6 |
|
<constant> |
1.19209290e-7F |
|
<bits> |
24 |
|
<constant> |
38 |
|
<constant> |
128 |
|
<constant> |
3.40282347e+38F |
|
<constant> |
-37 |
|
<constant> |
-125 |
|
<constant> |
1.17549435e-38F |
|
<constant> |
2 |
|
<bytes> |
4 |
|
<digits> |
17 |
|
<constant> |
4.9406564584124654e-324 |
|
<digits> |
15 |
|
<constant> |
2.2204460492503131e-16 |
|
<bits> |
53 |
|
<constant> |
308 |
|
<constant> |
1024 |
|
<constant> |
1.7976931348623157e+308 |
|
<constant> |
-307 |
|
<constant> |
-1021 |
|
<constant> |
2.2250738585072014e-308 |
|
<constant> |
|
|
<digits> |
17 |
|
<constant> |
4.9406564584124654e-324 |
|
<digits> |
15 |
|
<constant> |
2.2204460492503131e-16 |
|
<bits> |
53 |
|
<constant> |
308 |
|
<constant> |
1024 |
|
<constant> |
1.7976931348623157e+308 |
|
<constant> |
-307 |
|
<constant> |
-1021 |
|
<constant> |
2.2250738585072014e-308 |