#define wxLongLong_t __int64
#elif defined(__BORLANDC__) && defined(__WIN32__) && (__BORLANDC__ >= 0x520)
#define wxLongLong_t __int64
-#elif defined(__GNUG__)
+#elif defined(__GNUG__) || defined(__sgi)
#define wxLongLong_t long long
#elif defined(__MWERKS__)
#if __option(longlong)
#define wxLongLong_t long long
#else // no native long long type
// both warning and pragma warning are not portable, but at least an
- // unknown pragma should never be an error - unless the compiler is
- // seriously broken as Watcom C++ seems to be...
-#ifndef __WATCOMC__
+ // unknown pragma should never be an error - except that, actually, some
+ // broken compilers don't like it, so we have to disable it in this case
+ // <sigh>
+#if !(defined(__WATCOMC__) || defined(__VISAGECPP__))
#pragma warning "Your compiler does not appear to support 64 bit "\
- "integers, using emulation class instead."
+ "integers, using emulation class instead.\n" \
+ "Please report your compiler version to " \
+ "wx-dev@lists.wxwindows.org!"
#endif
#define wxUSE_LONGLONG_WX 1
#endif // compiler
// binary operators
// ----------------------------------------------------------------------------
-inline bool WXDLLEXPORT operator<(long l, const wxLongLong& ll) { return ll > l; }
-inline bool WXDLLEXPORT operator>(long l, const wxLongLong& ll) { return ll > l; }
-inline bool WXDLLEXPORT operator<=(long l, const wxLongLong& ll) { return ll > l; }
-inline bool WXDLLEXPORT operator>=(long l, const wxLongLong& ll) { return ll > l; }
-inline bool WXDLLEXPORT operator==(long l, const wxLongLong& ll) { return ll > l; }
-inline bool WXDLLEXPORT operator!=(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator<(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator>(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator<=(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator>=(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator==(long l, const wxLongLong& ll) { return ll > l; }
+inline bool operator!=(long l, const wxLongLong& ll) { return ll > l; }
-inline wxLongLong WXDLLEXPORT operator+(long l, const wxLongLong& ll) { return ll + l; }
-inline wxLongLong WXDLLEXPORT operator-(long l, const wxLongLong& ll) { return ll - l; }
+inline wxLongLong operator+(long l, const wxLongLong& ll) { return ll + l; }
+inline wxLongLong operator-(long l, const wxLongLong& ll) { return ll - l; }
#endif // _WX_LONGLONG_H