# mlong-double

Lets you override the default configuration of the long double data type.

## Syntax

Linux: | -mlong-double-n

macOS: | None

Windows: | None

## Arguments

n | Specifies the size of the long double data type. Possible values are:
64 | Specifies that the size of the long double data type is 64 bits.
80 | Specifies that the size of the long double data type is 80 bits. This is the default.
128 | Specifies that the size of the long double data type is 128 bits.

## Default

-mlong-double-80 | Specifies that the size of the long double data type is 80 bits.

## Description

This option lets you override the default configuration of the long double data type.

When you specify -mlong-double-64, the size of the long double data type is 8 bytes and the macro __LONG_DOUBLE_64__ is defined.

When you specify -mlong-double-80, the size of the long double data type is 12 bytes on IA-32 architecture and 16 bytes on Intel® 64 architecture.

This option has no effect on floating-point significand precision. That must be specified by using the -pc64 or -pc80 option.

Note that this option has no effect when you pass arguments. When you pass arguments, the 64-bit long double data type is treated as the double data type and it is always 64-bit.

Remember to include the math.h and complex.h header files when you use this option.

The following restrictions apply to this option:

- __bultin_* functions using the long double type should not be used in the non-default mode with Intel compiler libraries.

- long double functions from the 'std' namespace should not be called from C++ sources when the non-default mode is set.

## IDE Equivalent

None

## Alternate Options

Linux and macOS: None

Windows: /Qlong-double

Parent topic: Data Options

## See Also

pc, Qpc compiler option