C++ User's Guide

Values

For compat=4 only, a can be one of the following values:

Value of a

Meaning 

[no%]namespace

[Do not] Recognize the keywords namespace and using.

[no%]rtti

[Do not] Allow runtime type information (RTTI). 

For compat=4 and compat=5, a can be one of the following values:

Value of a 

Meaning 

[no%]altspell

 

 

[no%]arraynew

 

 

 

[no%]anachronisms

 

[no%]bool

 

[no%]conststrings

 

[no%]except

 

[no%]explicit

 

[no%]export

 

[no%]iddollar

 

[no%]localfor

 

[no%]mutable

[Do not] Recognize alternative token spellings (for example, "and" for "&&"). 

 

[Do not] Recognize array forms of operator new and operator delete (for example, operator new [ ] (void*) ). When enabled, the macro _ARRAYNEW=1. When not enabled, the macro is not defined. 

 

[Do not] Allow anachronistic constructs. 

 

[Do not] Allow the bool type and literals. 

 

[Do not] Put literal strings in read-only memory. 

 

[Do not] Allow C++ exceptions. 

 

[Do not] Recognize the keyword explicit.

 

[Do not] Recognize the keyword export.

 

[Do not] Allow a $ as a non-initial identifier character.

 

[Do not] Use new local-scope rules for the for statement.

 

[Do not] Recognize the keyword mutable.


Note -

[no%]castop is allowed for compatibility with makefiles written for the C++ 4.2 compiler, but has no affect on the 5.0 compiler. The new style casts (const_cast, dynamic_cast, reinterpret_cast, and static_cast) are always recognized and cannot be disabled.


When -features=arraynew is enabled, the macro _ARRAYNEW=1 is defined; when disabled, the macro is not defined.

When -features=bool is enabled, the macro _BOOL=1 is defined; when disabled, the macro is not defined.

When -features=no%anachronisms is enabled, no anachronistic constructs are allowed.

When -features=except is disabled, a throw-specification on a function is accepted but ignored. The keywords try, throw, and catch are always reserved.