Use this panel direct the PowerPC compiler to apply specific processing modes to the language source code. You can compile source files with just one collection at a time. To compile source files with multiple collections, you must compile the source code sequentially. After each compile iteration change the collection of settings that the PowerPC compiler uses.
The following table lists and defines each option of the C/C++ Language panel.
| Option | Description |
|---|---|
| Force C++ Compilation | Check to translate all C source files as C++ source code. Clear to use the filename's extension to determine whether to use the C or C++ compiler. The entries in the IDE's File Mappings settings panel specify the suffixes that the compiler assigns to each compiler. This checkbox corresponds to the pragma cplusplus and the command-line option -lang c++. |
| ISO C++ Template Parser | Check to follow the ISO/IEC 14882-1998 standard for C++ to translate templates, enforcing more careful use of the typename and template keywords. The compiler also follows stricter rules for resolving names during declaration and instantiation. Clear if you do not want the C+++ compiler expect template source code to follow the ISO C++ standard as closely. This checkbox corresponds to the pragma parse_func_templ and the command-line option -iso_templates |
| Use Instance Manager | Check to reduce compile time by generating any instance of a C++ template (or non-inlined inline) function only once. Clear to generate a new instance of a template or non-inlined function each time it appears in source code. This checkbox corresponds to control where the instance database is stored using #pragma instmgr_file and command-line option -instmgr. |
| Enable C++ Exceptions | Check to generate executable code for C++ exceptions specially when you use the try, throw, and catch statements specified in the ISO/IEC 14882-1998 C++ standard. Clear to generate smaller, faster executable code. The checkbox corresponds to the pragma exceptions and the command-line option - cpp_exceptions. |
| Enable RTTI | Check to use of the C++ runtime type information (RTTI) capabilities, including the dynamic_cast and typeid operators. Clear to let the compiler generate smaller, faster object code but do not allow runtime type information operations. The checkbox corresponds to the pragma RTTI and the command-line option -RTTI. |
| Enable C++ `bool' type, `true' and `false' Contants | Check to let the C++ compiler recognize the bool type and its true and false values specified in the ISO/IEC 14882-1998 C++ standard. Clear if you do not want the compiler dto recognize this type or its values. The checkbox corresponds to the pragma bool and the command-line option -bool. |
| Enable wchar_t Support | Check to let the C++ compiler recognize the wchar_t data type specified in the ISO/IEC 14882-1998 C++ standard. Clear if you do not want the compiler to recognize this type or when compiling source code that defines its own wchar_t type. The checkbox corresponds to the pragma wchar_type and the command-line option - wchar_t. |
| EC++ Compatibility Mode | Check if you expect C++ source code files to contain Embedded C++ source code. Clear if the compiler expects regular C++ source code in C++ source files. The checkbox corresponds to the pragma ecplusplus and the command-line option - dialect ec++. |
| ANSI Strict | Check if you want the compiler to only recognize source code that conforms to the ISO/IEC 9899-1990 standard for C. Clear if you want the compiler recognize several CodeWarrior extensions to the C language. The checkbox corresponds to the pragma ANSI_strict and the command-line option -ansi strict. |
| ANSI Keywords Only | Check to generate an error message for all non-standard keywords. If you must write source code that strictly adheres to the ISO standard, enable this setting. Clear if you want the compiler to recognize only these non-standard keywords: far, inline, __inline__, __inline, and pascal. The checkbox corresponds to the pragma only_std_keywords and the command-line option -stdkeywords. |
| Expand Trigraphs | Check to let the compiler recognize trigraph sequences (ISO/IEC 9899-1990 C, �5.2.1.1). Clear to ignore trigraph characters. Many common character constants look like trigraph sequences, and this extension lets you use them without including escape characters. The checkbox corresponds to the pragma trigraphs and the command-line option -trigraphs. |
| Legacy for-scoping | Check to generate an error message when the compiler encounters a variable scope usage that the ISO/IEC 14882-1998 C++ standard disallows. Clear to let the scope rules specified in ARM. The checkbox corresponds to the pragma require_prototypes and the command-line option -requireprotos. |
| Require Prototypes | Check to enforce the requirement of function prototypes. The compiler generates an error message if you define a previously referenced function that does not have a prototype. If you define the function before it is referenced but do not give it a prototype, this setting causes the compiler to issue a warning message. Clear if you do not require prototypes. The checkbox corresponds to the pragma require_prototypes and the command-line option -requireprotos. |
| Enable C99 Extensions | Check to let the compiler recognize ISO/IEC 9899-1999 ("C99") language features. Clear if you want the compiler to recognize only ISO/IEC 9899-1990 ("C90") language features. The checkbox corresponds to the pragma gcc_extensions and the command-line option -gcc_extensions. |
| Enable GCC Extensions | Check to recognize language features of the GNU Compiler Collection (GCC) C compiler that are supported by CodeWarrior compilers. Clear if you do not want the compiler to recognize GCC extensions. The checkbox corresponds to the pragma gcc_extensions and the command-line option -gcc_extensions. |
| Enum Always Int | Check to use signed integers to represent enumerated constants. Clear to use smallest possible integer type to represent enumerated constants. The checkbox corresponds to the pragma enumsalwaysint and the command-line option -enum. |
| Use Unsigned Chars | Check to treat char declarations as unsigned char declarations. Clear to treat char declarations as signed char declarations. The checkbox corresponds to the pragma unsigned_char and the command-line option -char unsigned. |
| Pool Strings | Check to collect all string constants into a single data section in the object code it generates. Clear to create a unique section for each string constant. The checkbox corresponds to the pragma pool_strings and the command-line option -strings pool. |
| Reuse | Check to store only one copy of identical string literals. Clear to store each string literal separately. The checkbox corresponds to the opposite of the pragma dont_reuse_strings and the command-line option -string reuse. |
| IPA | Specifies the Interprocedural Analysis (IPA) policy.
|
| Other flags | Specify additional command line options for the linker; type in custom flags that are not otherwise available in the UI. |