This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: __GXX_EXPERIMENTAL_CXX0X__ This macro is defined when compiling a C ++ source file with the option ‘-std=c++0x ’ or ‘-std=gnu++0x ’. It indicates that some features likely to be included in C ++ 0x are available. Note that these features are experimental, and may change or be removed in future versions of GCC. __GXX_WEAK__ This macro is defined when compiling a C ++ source file. It has the value 1 if the compiler will use weak symbols, COMDAT sections, or other similar techniques to collapse symbols with “vague linkage” that are defined in multiple translation units. If the compiler will not collapse such symbols, this macro is defined with value 0. In general, user code should not need to make use of this macro; the purpose of this macro is to ease implementation of the C ++ runtime library provided with G ++ . __NEXT_RUNTIME__ This macro is defined, with value 1, if (and only if) the NeXT runtime (as in ‘-fnext-runtime ’) is in use for Objective-C. If the GNU runtime is used, Chapter 3: Macros 31 this macro is not defined, so that you can use this macro to determine which runtime (NeXT or GNU) is being used. __LP64__ _LP64 These macros are defined, with value 1, if (and only if) the compilation is for a target where long int and pointer both use 64-bits and int uses 32-bit. __SSP__ This macro is defined, with value 1, when ‘-fstack-protector ’ is in use. __SSP_ALL__ This macro is defined, with value 2, when ‘-fstack-protector-all ’ is in use. __SANITIZE_ADDRESS__ This macro is defined, with value 1, when ‘-fsanitize=address ’ is in use. __TIMESTAMP__ This macro expands to a string constant that describes the date and time of the last modification of the current source file. The string constant contains abbreviated day of the week, month, day of the month, time in hh:mm:ss form, year and looks like "Sun Sep 16 01:03:52 1973" . If the day of the month is less than 10, it is padded with a space on the left. If GCC cannot determine the current date, it will emit a warning message (once per compilation) and __TIMESTAMP__ will expand to "??? ??? ?? ??:??:?? ????" . __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 These macros are defined when the target processor supports atomic compare and swap operations on operands 1, 2, 4, 8 or 16 bytes in length, respectively. __GCC_HAVE_DWARF2_CFI_ASM This macro is defined when the compiler is emitting Dwarf2 CFI directives to the assembler. When this is defined, it is possible to emit those same directives in inline assembly. __FP_FAST_FMA __FP_FAST_FMAF __FP_FAST_FMAL These macros are defined with value 1 if the backend supports the fma , fmaf , and fmal builtin functions, so that the include file ‘ math.h ’ can define the macros FP_FAST_FMA , FP_FAST_FMAF , and FP_FAST_FMAL for compatibility with the 1999 C standard....
View Full Document
- Summer '13
- GCC, C preprocessor