X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c92e136d9a2d9919fc747d109610cd4d16c6cc91..66f2aa61c3c7bc326f3287739eded70ca61f775d:/include/wx/longlong.h diff --git a/include/wx/longlong.h b/include/wx/longlong.h index ca687f6861..f248bb6d21 100644 --- a/include/wx/longlong.h +++ b/include/wx/longlong.h @@ -404,14 +404,23 @@ public: // convert to ulong with range checking in debug mode (only!) unsigned long ToULong() const { - wxASSERT_MSG( m_ll <= LONG_MAX, + wxASSERT_MSG( m_ll <= ULONG_MAX, wxT("wxULongLong to long conversion loss of precision") ); return wx_truncate_cast(unsigned long, m_ll); } // convert to double + // + // For some completely obscure reasons compiling the cast below with + // VC6 in DLL builds only (!) results in "error C2520: conversion from + // unsigned __int64 to double not implemented, use signed __int64" so + // we must use a different version for that compiler. +#ifdef __VISUALC6__ + double ToDouble() const; +#else double ToDouble() const { return wx_truncate_cast(double, m_ll); } +#endif // operations // addition