Carbide.c++ Predefined Symbols

Table 1 lists additional symbols provided by Carbide C/C++ but not defined as part of the ANSI/ISO C/C++ standards.

NOTE The Carbide C compiler was formerly known as the Metrowerks C compiler. For Symbian development, only the x86 based features are supported. All references to other processor architectures are for historical purposes only.

Table 1. Predefined Symbols for Carbide C/C++ compilers
This symbol… is…
__A5__ Defined as 1 if data is A5-relative, 0 if data is A4-relative. This symbol is defined for 68K compilers and undefined for other target platforms.
__ALTIVEC__ Currently defined as 100000000 when you enable PowerPC AltiVec™ features using pragma altivec_model.
__cplusplus Defined as 199711L if you are compiling this file as a C++ file; undefined if you are compiling this file as a C file. The value 199711L indicates conformance with the ANSI/ISO C++ specification.
__EMU_SYMBIAN_OS__ Defined as 1 .
__embedded_cplusplus Defined as 1 if EC++ is activated; undefined if EC++ is not activated.
__embedded__ Defined as 1 if you are compiling code for an embedded target.
__FUNCTION__ Defined by the compiler as the name of the function currently being compiled. This symbol is a predefined identifier for GCC compatibility.
__fourbyteints__ Defined as 1 if you enable the 4-byte Ints setting in the 68K Processor panel; 0 if you disable that setting. This symbol is defined for 68K compilers and undefined for other platforms.
__ide_target("target_name") Returns 1 if target_name is the same as the active build target in the Carbide IDE’s active project. Returns 0 otherwise.
__IEEEdoubles__ Defined as 1 if you enable the 8-Byte Doubles setting in the 68K Processor panel; 0 if you disable that setting. This symbol is defined for 68K compilers and undefined for all other target platforms.
__INTEL__ Defined as 1 if you are compiling this code with the x86 compiler; undefined for all other target platforms.
__MC68K__ Defined as 1 if you are compiling this code with the 68K compiler; undefined for all other target platforms.
__MC68020__ Defined as 1 if you enable the 68020 Codegen setting in the Processor panel; 0 if you disable it. This symbol is defined for 68K compilers and undefined for all other target platforms.
__MC68881__ Defined as 1 if you enable the 68881 Codegen setting in the 68K Processor panel; 0 if you disable it. This symbol is defined for 68K compilers and undefined for all other target platforms.
__MIPS__ Defined as 1 for MIPS compilers; undefined for other target platforms.
__MIPS_ISA2__ Defined as 1 if the compiler’s target platform is MIPS and you select the ISA II checkbox in the MIPS Processor panel. Undefined if you deselect the ISA II checkbox. It is always undefined for other target platforms.
__MIPS_ISA3__ Defined as 1 if the compiler’s target platform is MIPS and you select the ISA III checkbox in the MIPS Processor panel. Undefined if you deselect the ISA III checkbox. It is always undefined for other target platforms.
__MIPS_ISA4__ Defined as 1 if the compiler’s target platform is MIPS and you select the ISA IV checkbox in the MIPS Processor panel. Undefined if you deselect the ISA IV checkbox. It is always undefined for other target platforms.
__MWBROWSER__ Defined as 1 if the Carbide browser is parsing your code; 0 if not.
__MWERKS__ Defined as the version number of the Carbide C/C++ compiler. For example, with the Carbide C/C++ compiler version 2.2, the value of __MWERKS__ is 0x2200. This macro is defined as 1 if the compiler was released in 1995 or earlier.
__PRETTY_FUNCTION__ Defined by the compiler as the name of the qualified (“unmangled”) C++ function currently being compiled. This predefined identifier is only defined when the C++ compiler is active. See C++ Compiler for related information.
__profile__ Defined as 1 if you enable the Generate Profiler Calls setting in the Processor panel; 0 if you disable it.
__POWERPC__ Defined as 1 if you are compiling this code with the PowerPC compiler; 0 if not.
__VEC__ Defined as the version of Motorola’s AltiVec ™ Technology Programming Interface Manual to which the compiler conforms. This value takes the form vrrnn which corresponds to the version number (v.rr.nn) of the Programming Interface Manual. Otherwise, this macro is undefined.
macintosh Defined as 1 if you are compiling this code with the 68K or PowerPC compilers for Mac OS; 0 if not.