I've never heard of this extension before. I tried to compile a simple example:<div><br></div><div><div>int main()</div><div>{</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>auto i = 1i128;</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>return 0;</div><div>}</div><div><br></div><div><div><br></div><div>>cl -nologo test.cpp</div><div>test.cpp</div><div>test.cpp(3) : error C2059: syntax error : 'bad suffix on number'</div>

<div>test.cpp(3) : error C2146: syntax error : missing ';' before identifier 'i128'</div><div>test.cpp(3) : error C2065: 'i128' : undeclared identifier</div></div><div><br></div><div>I also couldn't find any mention of these literals in MSDN.</div>

<br><div class="gmail_quote">On Sun, Sep 23, 2012 at 8:18 PM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Sun, Sep 23, 2012 at 10:15 PM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:<br>
> On Sun, Sep 23, 2012 at 2:27 PM, Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>> wrote:<br>
>> On Sun, Sep 23, 2012 at 9:24 PM, Cory Nelson <<a href="mailto:phrosty@gmail.com">phrosty@gmail.com</a>> wrote:<br>
>>> On Sun, Sep 23, 2012 at 11:20 AM, Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>> wrote:<br>
>>>> Hello,<br>
>>>><br>
>>>> Currently Clang chooses the type of MS 128-bit literals (<digits>i128,<br>
>>>> <digits>ui128) based on their value, as if there was no suffix, but<br>
>>>> also allows an extended 128-bit type.<br>
>>>><br>
>>>> For example, on x86_64:<br>
>>>><br>
>>>> 1i128 is equivalent to 1,<br>
>>>> 0x100000000i128 is same as 0x100000000L,<br>
>>>> and finally 0x10000000000000000i128 is indeed a 128-bit literal.<br>
>>>><br>
>>>> I don't know if it is intended, but i128 is definitely treated<br>
>>>> differently way from other MS literal suffixes we accept (for example,<br>
>>>> i64 is essentially an alias for LL).<br>
>>>><br>
>>>> I don't have Visual Studio so I can not check how it handles these literals.<br>
>>><br>
>>> VC++ does not support 128-bit literals.<br>
>><br>
>> I'm confused.  So why does Clang implement them?<br>
><br>
> There's an __int128 supplied by gcc<br>
> (<a href="http://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html" target="_blank">http://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html</a>), but there's<br>
> not one for Visual Studio (at least not one officially documented).<br>
<br>
</div>That is a 128-bit integer type.  I was asking about 128-bit literals,<br>
like 1i128 (which gcc does not support).<br>
<div class="im HOEnZb"><br>
Dmitri<br>
<br>
--<br>
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if<br>
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>>*/<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Joćo Matos<br>
</div>