On Sun, Apr 8, 2012 at 3:56 PM, Ruben Van Boxem
<[email protected]> wrote:
> 2012/4/8 Ozkan Sezer <[email protected]>
>>
>> On Sun, Apr 8, 2012 at 3:37 PM, Ruben Van Boxem
>> <[email protected]> wrote:
>> > 2012/4/8 Ozkan Sezer <[email protected]>
>> >>
>> >> On Sun, Apr 8, 2012 at 3:14 PM, Ruben Van Boxem
>> >> <[email protected]> wrote:
>> >> > Hi,
>> >> >
>> >> > Clang doesn't support the __int128 stuff, and the _mingw.h header is
>> >> > doing a
>> >> > typedef that Clang does not understand.
>> >> >
>> >> > It is on line 218 of _mingw.h:
>> >> >
>> >> > #ifndef __SIZEOF_INT128__
>> >> > typedef int __int128 __attribute__ ((__mode__ (TI)));
>> >> > #endif
>> >> >
>> >> > should be:
>> >> >
>> >> > #if !defined(__SIZEOF_INT128__) && !defined(__clang__)
>> >> > typedef int __int128 __attribute__ ((__mode__ (TI)));
>> >> > #endif
>> >> >
>> >> > Does this seem plausible?
>> >>
>> >> __mode__ (TI) is the problem, I guess?  If that is the case, one would
>> >> like to know whether they would support it in the future.
>> >
>> >
>> > Doesn't seem so:
>> >
>> >
>> > M:/Development/mingw64/bin/../lib/clang/3.1/../../../x86_64-w64-mingw32/include\_mingw.h:220:13:
>> > error: cannot combine with previous 'int' declaration specifier
>> > typedef int __int128;// __attribute__ ((__mode__ (TI)));
>> >             ^
>> > 1 error generated.
>> >
>> > A small test also shows that __int128 is a Clang builtin type. So the
>>
>> Ah. Then do they not define a macro indicating the type's size
>> like __SIZEOF_INT128__ from gcc? If not, then your suggestion seem
>> as the right solution to me
>
>
> I can't find anything in the source, and no compiler-defined macro's. Only
> for the char/short/int/long/wchar_t types. I have no idea how they implement
> it or how it works. sizeof(__int128) returns 16, which seems right.

I see. Then the additional clang ifdef seems as the the right solution.

BTW, is it a yet-to-be-released clang 3.1 thing (judging from the
command line you pasted here), or do the older versions of clang
have it?

>
> Ruben
>
>>
>>
>> > typedef just needs to be removed for Clang.
>> >
>> > Ruben
>>
>> --
>> O.S.
>

--
O.S.

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to