[cfe-dev] MS 128-bit literals don't always have the correct type

Cory Nelson phrosty at gmail.com
Sun Sep 23 11:24:30 PDT 2012

On Sun, Sep 23, 2012 at 11:20 AM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
> Hello,
> Currently Clang chooses the type of MS 128-bit literals (<digits>i128,
> <digits>ui128) based on their value, as if there was no suffix, but
> also allows an extended 128-bit type.
> For example, on x86_64:
> 1i128 is equivalent to 1,
> 0x100000000i128 is same as 0x100000000L,
> and finally 0x10000000000000000i128 is indeed a 128-bit literal.
> I don't know if it is intended, but i128 is definitely treated
> differently way from other MS literal suffixes we accept (for example,
> i64 is essentially an alias for LL).
> I don't have Visual Studio so I can not check how it handles these literals.

VC++ does not support 128-bit literals.

Cory Nelson

More information about the cfe-dev mailing list