The following GNU C++ language extension is enabled by default.
| Language feature | Discussed in: |
|---|---|
| init_priority variable attribute | The init_priority variable attribute (C++ only) (IBM extension) |
The following GNU C++ language extensions are enabled by default. They can also be enabled or disabled by specific compiler options, listed in the below table:
| Language feature | Discussed in: | Individual option control |
|---|---|---|
| Template instantiations declared as extern | Template instantiation (C++ only) | -qlanglvl=[no]gnu_externtemplate |
| The __thread storage class specifier | The __thread storage class specifier (IBM extension) | -qtls |
The option -qlanglvl=[no]gnu_externtemplate is deprecated in XL C/C++ V11.1. You can use the option -qlanglvl=[no]externtemplate instead to control the explicit instantiation declaration feature which is introduced in the C++0x standand. For more information, see Explicit instantiation declaration.