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.

Reply via email to