ILE C++ adds support for the following C99 language features. The features are enabled with the LANGLVL(*EXTENDED) option, which is the default language level. For more information, see the LANGLVL option in the ILE C/C++ Compiler Reference.
| Language feature | Discussed in: |
|---|---|
| Flexible array members at the end of a structure or union | Flexible array members |
| _Pragma operator | The _Pragma preprocessing operator |
| Additional predefined macro names | ILE C/C++ Compiler Reference |
| Empty arguments in function-like macros | Function-like macros |
| __func__ predefined identifier | The __func__ predefined identifier |
| Hexadecimal floating-point literals | Hexadecimal floating-point literals |
| Trailing comma allowed in enum declaration | Enumeration type definition |
| The restrict type qualifier | The restrict type qualifier |
| Variable length arrays | Variable length arrays (C++ only) |
| Compound literals | Compound literal expressions |
| Variable arguments in function-like macros | Function-like macros |
The following feature is only enabled by a specific compiler option.
| Language feature | Discussed in: |
|---|---|
| Universal character names | The Unicode standard |