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