On 08/04/2014 00:40, Brian Gladman wrote: > On 07/04/2014 23:02, Bill Hart wrote: >> Argh, I hate C++. What a useless language. > > When we attempt to overload (u)intmax_t types, won't we inevitably be > duplicating overloads of either long or long long types? > > I am no expert on C++ overloading but aren't overloads on type aliases > illegal?
We attempt to protect against overloading type aliases with: #if defined(MPIR_HAVE_STDINT) # if INTMAX_MAX != LONG_MAX && (INTMAX_MAX != LLONG_MAX || !defined(MPIRXX_HAVE_LLONG)) # define MPIRXX_INTMAX_T 1 # endif # if UINTMAX_MAX != ULONG_MAX && (UINTMAX_MAX != ULLONG_MAX || !defined(MPIRXX_HAVE_LLONG)) # define MPIRXX_UINTMAX_T 1 # endif #endif at around line 60 in mpirxx.h. Unless I am misreading this, the above guards on Windows should evaluate to: if TRUE && (FALSE || FALSE) so the overloads should not be seen (they aren't on Visual Studio). It seems that something is going wrong in these guards on CygWin64. Brian -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to mpir-devel+unsubscr...@googlegroups.com. To post to this group, send email to mpir-devel@googlegroups.com. Visit this group at http://groups.google.com/group/mpir-devel. For more options, visit https://groups.google.com/d/optout.