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
