Extensions for GNU C compatibility
The following feature is enabled by default at all language levels:
| Language feature | Discussed in: |
|---|---|
| #include_next preprocessor directive | The #include_next directive (IBM extension) |
The following features are enabled by default when you
compile with any of the following commands:
- the xlc invocation command
- the -qlanglvl=extc99 | extc89 | extc1x | extended options
The following features are enabled by default when you
compile with any of the following commands:
- the xlc invocation command
- the -qlanglvl=extc99 | extc89 | extc1x | extended options
| Language feature | Discussed in: | Individual option controls |
|---|---|---|
| asm, and __asm keywords | Assembly labels (IBM extension), Inline assembly statements (IBM extension), Keywords for language extensions (IBM extension) | -q[no]keyword=asm, -qasm |
| asm inline assembly-language statements | Inline assembly statements (IBM extension) | -qasm |
| typeof keyword | The typeof operator (IBM extension), Keywords for language extensions (IBM extension) | -q[no]keyword=typeof |
| typeof operator | The typeof operator (IBM extension) | -q[no]keyword=typeof |
| Visibility function attribute | visibility (IBM extension) | -fvisibility (-qvisibility) |
| Visibility variable attribute | The visibility variable attribute (IBM extension) | -fvisibility (-qvisibility) |
Note: You
can use the -qvisibility option to specify visibility
attributes for variables and functions if they do not get visibility
attributes from pragma directives, explicitly specified attributes,
or propagation rules. This option cannot be used to disable visibility
attributes for variables or functions.
|
||
The following features require compilation with the use
of an additional option:
| Language feature | Discussed in: | Required compilation option |
|---|---|---|
| __thread storage class specifier | The __thread storage class specifier (IBM extension) | -qtls |
| Dollar signs in identifiers | Characters in identifiers | -qdollar |


