Extensions for C99 compatibility
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(C++ only) |
| Variable length arrays | Variable length arrays |
| 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 (C++ only) |