ARM Compiler > Language

Use this panel to direct the ARM 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 ARM compiler uses.

The following figure shows the Language Settings panel.

Figure 1. Tool settings - ARM Compiler >Language

Tool settings - ARM Compiler >Language

The following table lists and defines each option of the Language panel.

Table 1. Tool settings - ARM Compiler > Language Options
Option Description
Force C++ Compilation Check to translate all C source files as C++ source code and is equivalent to pragma cplusplus and the command-line option -lang c++.
ANSI Strict Check to enable C compiler operate in strict ANSI mode. In this mode, the compiler strictly applies the rules of the ANSI/ISO specification to all input files. This setting is equivalent to specifying the - ansi command-line option. The compiler issues a warning for each ANSI/ISO extension it finds.
ANSI Keywords Only Check to generate an error message for all non-standard keywords (ISO/IEC 9899-1990 C, §6.4.1). If you must write source code that strictly adheres to the ISO standard, enable this setting; is equivalent to pragma only_std_keywords and the command-line option -stdkeywords.
Enable C99 Extensions Check to r ecognize ISO/IEC 9899-1999 ("C99") language features; is equivalent to pragma c99 and the command-line option - dialect c99.
Enable GCC extensions Check to recognize language features of the GNU Compiler Collection (GCC) C compiler that are supported by CodeWarrior compilers; is equivalent to pragma gcc_extensions and the command-line option -gcc_extensions.
Enum Always Int Check to u se signed integers to represent enumerated constants and is equivalent to pragma enumsalwaysint and the command-line option -enum.
Use Unsigned Chars Check to t reat char declarations as unsigned char declarations and is equivalent to pragma unsigned_char and the command-line option -char unsigned.
Require Function 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.
Expand Trigraphs Check to recognize trigraph sequences (ISO/IEC 9899-1990 C, §5.2.1.1); is equivalent to pragma trigraphs and the command-line option -trigraphs.
Enable Exceptions Check to generate executable code for C++ exceptions; is equivalent to pragma exceptions and the command-line option - cpp_exceptions.
Enable RTTI Support Check to allow the use of the C++ runtime type information (RTTI) capabilities, including the dynamic_cast and typeid operators; equivalent to pragma RTTI and the command-line option -RTTI.
Enable bool support Check to enable the C++ compiler recognize the bool type and its true and false values specified in the ISO/IEC 14882-2003 C++ standard; is equivalent to pragma bool and the command-line option -bool.
Enable wchar_t support Check to enable C++ compiler recognize the wchar_t data type specified in the ISO/IEC 14882-2003 C++ standard; is equivalent to pragma wchar_type and the command-line option -wchar_t.
ISO Template Parser Check to follow the ISO/IEC 14882-2003 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 and is equivalent to pragma parse_func_templ and the command-line option -iso_templates.
Use Instance Manager Check to r educe compile time by generating any instance of a C++ template (or non-inlined inline) function only once.
Legacy for-scoping Check to g enerate an error message when the compiler encounters a variable scope usage that the ISO/IEC 14882-2003 C++ standard disallows, but is allowed in the C++ language specified in The Annotated C++ Reference Manual ("ARM"); is equivalent to pragma ARM_scoping and the command-line option -for_scoping.
Reuse Strings Check to store only one copy of identical string literals and is equivalent to opposite of the pragma dont_reuse_strings and the command-line option -string reuse.
Pool Strings Check to collect all string constants into a single data section in the object code it generates and is equivalent to pragma pool_strings and the command-line option -strings pool.
Other flags Specify additional command line options for the compiler; type in custom flags that are not otherwise available in the UI.