Option Type | Default Value | #pragma options | C | C++ |
-qoption | noldbl128 | LDBL128 | x | x |
Syntax
-qldbl128 | -qnoldbl128 | -qlongdouble | -qnolongdouble LDBL128 | NOLDBL128 | LONGDOUBLE | NOLONGDOUBLE
Purpose
Increases the size of long double type from 64 bits to 128 bits.
Notes
The -qlongdouble option is the same as the -qldbl128 option.
Separate libraries are provided that support 128-bit long double types. These libraries will be automatically linked if you use any of the invocation commands with the 128 suffix (xlC128, xlc128, cc128, xlC128_r, xlc128_r, or cc128_r). You can also manually link to the 128-bit versions of the libraries using the -lkey option, as shown in the following table:
Default (64-bit) long double | 128-bit long double | ||
---|---|---|---|
Library | Form of the -lkey option | Library | Form of the -lkey option |
libC.a | -lC | libC128.a | -lC128 |
libC_r.a | -lC_r | libC128_r.a | -lC128_r |
Linking without the 128-bit versions of the libraries when your program uses 128-bit long doubles (for example, if you specify -qldbl128 alone) may produce unpredictable results.
The -qldbl128 option defines __LONGDOUBLE128.
The #pragma options directive must appear before the first C or C++ statement in the source file, and the option applies to the entire file.
Example
To compile myprogram.c so that long double types are 128 bits,
enter:
xlC myprogram.c -qldbl128 -lC128
or:
xlC128 myprogram.c
List of Batch Compiler Options and Their Defaults
Options that Define the Compiler Object Code Produced
Equivalent Batch Compile-Link and Incremental
Build Options