-m32 and int128

Marc Glisse marc.glisse@inria.fr
Wed Jan 1 13:36:00 GMT 2014


On Wed, 1 Jan 2014, Paolo Bolzoni wrote:

> [Please put me in CC since I am not part of this list]
>
> Dear list,
> I was playing around with g++ when I got this weird behavior:
>
> % cat a.cpp
> #include <iostream>
> #include <limits>
>
> int main() {
> }
>
>
> % g++ a.cpp
> % g++ -m32 a.cpp
> In file included from a.cpp:2:0:
> /usr/include/c++/4.8.2/limits:1405:35: error: template argument 1 is invalid
>     struct numeric_limits<__int128>
>                                   ^
> /usr/include/c++/4.8.2/limits:1479:44: error: template argument 1 is invalid
>     struct numeric_limits<unsigned __int128>
>                                            ^
> %
>
> Compiling with -m32 breaks programs which include <limits>.
> Is that a bug? Is there a work-around? Thanks.

Compile with the -v flag and compare the include search paths for -m64 and 
for -m32. g++ is using the wrong bits/c++config.h with -m32, probably 
because of some variable in your environment.

-- 
Marc Glisse



More information about the Gcc-help mailing list