### 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.