r243243 - [MS Extensions] Remove support for the i128 integer literal suffix

İsmail Dönmez ismail at donmez.ws
Sun Jul 26 10:13:02 PDT 2015


Hi,

On Sun, Jul 26, 2015 at 7:58 PM, Saleem Abdulrasool <compnerd at compnerd.org>
wrote:

> On Sun, Jul 26, 2015 at 2:02 AM, David Majnemer <david.majnemer at gmail.com>
> wrote:
>
>> Author: majnemer
>> Date: Sun Jul 26 04:02:26 2015
>> New Revision: 243243
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=243243&view=rev
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D243243-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=Y_L85-cj_prla13CIMoO-QM0u4Ulpz--eZ5LnIr-TK8&s=vHK5_-kXeIViHSTsJSUo2hRP3egmioRNFU6ao1GMRU8&e=>
>> Log:
>> [MS Extensions] Remove support for the i128 integer literal suffix
>>
>> There is currently no support in MSVC for using i128 as an integer
>> literal suffix.  In fact, there appears to be no evidence that they have
>> ever supported this feature in any of their compilers.  This was an over
>> generalization of their actual feature and is a nasty source of bugs.
>> Why is it a source of bugs?  Because most code in clang expects that
>> evaluation of an integer constant expression won't give them something
>> that 'long long' can't represent.  Instead of providing a meaningful
>> feature, i128 gives us cute ways of exploding the compiler.
>>
>
> https://msdn.microsoft.com/en-us/library/cc953fe1.aspx
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__msdn.microsoft.com_en-2Dus_library_cc953fe1.aspx&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=Y_L85-cj_prla13CIMoO-QM0u4Ulpz--eZ5LnIr-TK8&s=uZaMn5xiflWZHlTPmNHb4LrItXxuvCsIXWnYFWAsVyM&e=>
> claims otherwise.
>

According to
https://connect.microsoft.com/VisualStudio/feedback/details/782490/is-it-possible-to-get-a-categorical-statement-if-vs2012-supports-a-128-bit-sse-type-for-use-in-the-sse-avx-intrinsics-and-if-so-how-to-use-it
is not really supported so I guess it a documentation bug.

Also, try to compile a __int128 foo with VS2015 results in :

t.c(1): error C4235: nonstandard extension used: '__int128' keyword not
supported on this architecture

on an x64 machine.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150726/54b5c8b9/attachment.html>


More information about the cfe-commits mailing list