Hi again,

just little more details:
I'm currently blocked by the following issue. If I try to compile, with -std=gnu++98 (the default for C++) and -pedantic-errors:

template<typename T>
struct limits;

template<>
struct limits<__int128> { };

template<>
struct limits<unsigned __int128> { };

I get:

a.cc:8:26: error: ISO C++ does not support ‘__int128’ for ‘type name’ [-pedantic]
a.cc:8:10: error: redefinition of ‘struct limits<__int128>’
a.cc:5:10: error: previous definition of ‘struct limits<__int128>’
If I remove the second specialization:

template<typename T>
struct limits;

template<>
struct limits<__int128> { };

then it compiles just fine, with -pedantic and -pedantic-errors too. Thus, it looks like something is definitely wrong here. Well, the first and second line of the error message above - wrongly talking about __int128 instead of unsigned __int128, should also be an hint...

Thanks again,
Paolo.

Reply via email to