When I try to take the typeid of an __int128_t or a __uint128_t, I get an undefined reference at link time, e.g., with gcc/4.4.1:
salm...@drdblogin6.en.desres$ cat typeid.cpp #include <typeinfo> const std::type_info& ti(typeid(int)); // no problem const std::type_info& ti128(typeid(__int128_t)); const std::type_info& tu128(typeid(__uint128_t)); int main(){} salm...@drdblogin6.en.desres$ desres-cleanenv -m gcc/4.4.1-13/bin g++ -std=gnu++0x typeid.cpp /tmp/ccKpEAiz.o:(.rodata+0x8): undefined reference to `typeinfo for __int128' /tmp/ccKpEAiz.o:(.rodata+0x10): undefined reference to `typeinfo for unsigned __int128' collect2: ld returned 1 exit status salm...@drdblogin6.en.desres$ -- Summary: undefined reference to `typeinfo for __int128' Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: john dot salmon at deshaw dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40855