# pragma warning(disable:4511) /* copy ctor couldn't be generated */
# pragma warning(disable:4512) /* operator=() couldn't be generated */
# pragma warning(disable:4710) /* function not inlined */
+
+ /* For VC++ 5.0 for release mode, the warning 'C4702: unreachable code */
+ /* is buggy, and occurs for code that does actually get executed */
+# if !defined __WXDEBUG__ && __VISUALC__ <= 1100
+# pragma warning(disable:4702) /* unreachable code */
+# endif
+
+/* Deprecated functions such as sprintf, localtime */
+#if __VISUALC__ >= 1400
+#define _CRT_SECURE_NO_DEPRECATE 1
+#define _CRT_NON_CONFORMING_SWPRINTFS 1
+#endif
+
#endif /* __VISUALC__ */
/* suppress some Salford C++ warnings */
# pragma warn -inl /* Functions containing reserved words and certain constructs are not expanded inline */
#endif /* __BORLANDC__ */
+/*
+ g++ gives a warning when a class has private dtor if it has no friends but
+ this is a perfectly valid situation for a ref-counted class which destroys
+ itself when its ref count drops to 0, so provide a macro to suppress this
+ warning
+ */
+#ifdef __GNUG__
+# define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name) \
+ friend class wxDummyFriendFor ## name;
+#else /* !g++ */
+# define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name)
+#endif
+
/* ---------------------------------------------------------------------------- */
/* wxWidgets version and compatibility defines */
/* ---------------------------------------------------------------------------- */
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)
/* Borland 5.0+ supports bool */
#define HAVE_BOOL
- #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
+ #elif wxCHECK_WATCOM_VERSION(1,0)
/* Watcom 11+ supports bool */
#define HAVE_BOOL
#elif defined(__DIGITALMARS__)
#define except(x) catch(...)
#endif /* Metrowerks */
-#if defined(__WATCOMC__) && (__WATCOMC__ < 1240)
+#if wxONLY_WATCOM_EARLIER_THAN(1,4)
typedef short mode_t;
#endif
explicit with /Wp64 option, suppress them as we really know what we're
doing here. Same thing with icc with -Wall.
*/
-#if defined(__VISUALC__) || defined(__INTELC__)
- #pragma warning(push)
- #ifdef __VISUALC__
- /* pointer truncation from '' to '' */
- #pragma warning(disable: 4311)
- #elif defined(__INTELC__)
- /* conversion from pointer to same-sized integral type */
- #pragma warning(disable: 1684)
+#ifdef __VISUALC__
+ #if __VISUALC__ >= 1200
+ #pragma warning(push)
#endif
+ /* pointer truncation from '' to '' */
+ #pragma warning(disable: 4311)
+#elif defined(__INTELC__)
+ #pragma warning(push)
+ /* conversion from pointer to same-sized integral type */
+ #pragma warning(disable: 1684)
#endif
return wx_reinterpret_cast(wxUIntPtr, p);
-#if defined(__VISUALC__) || defined(__INTELC__)
+#if (defined(__VISUALC__) && __VISUALC__ >= 1200) || defined(__INTELC__)
#pragma warning(pop)
#endif
}
inline void *wxUIntToPtr(wxUIntPtr p)
{
-#if defined(__VISUALC__) || defined(__INTELC__)
- #pragma warning(push)
- #ifdef __VISUALC__
- /* conversion to type of greater size */
- #pragma warning(disable: 4312)
- #elif defined(__INTELC__)
- /* invalid type conversion: "wxUIntPtr={unsigned long}" to "void *" */
- #pragma warning(disable: 171)
+#ifdef __VISUALC__
+ #if __VISUALC__ >= 1200
+ #pragma warning(push)
#endif
+ /* conversion to type of greater size */
+ #pragma warning(disable: 4312)
+#elif defined(__INTELC__)
+ #pragma warning(push)
+ /* invalid type conversion: "wxUIntPtr={unsigned long}" to "void *" */
+ #pragma warning(disable: 171)
#endif
return wx_reinterpret_cast(void *, p);
-#if defined(__VISUALC__) || defined(__INTELC__)
+#if (defined(__VISUALC__) && __VISUALC__ >= 1200) || defined(__INTELC__)
#pragma warning(pop)
#endif
}
typedef wxLongLong_t wxInt64;
typedef wxULongLong_t wxUint64;
+
+ #define wxHAS_INT64 1
+
+#elif wxUSE_LONGLONG
+ /* these macros allow to definea 64 bit constants in a portable way */
+ #define wxLL(x) wxLongLong(x)
+ #define wxULL(x) wxULongLong(x)
+
+ #define wxInt64 wxLongLong
+ #define wxUint64 wxULongLong
+
+ #define wxHAS_INT64 1
+
+#else // !wxUSE_LONGLONG
+
+ #define wxHAS_INT64 0
+
#endif
#if defined(__PALMOS__) && !defined(HAVE_SSIZE_T)
#define HAVE_SSIZE_T
#endif
-#if defined(__WATCOMC__) && __WATCOMC__ > 1230
+#if wxCHECK_WATCOM_VERSION(1,4)
#define HAVE_SSIZE_T
#endif
#ifndef HAVE_SSIZE_T
(((wxUint64) (val) & (wxUint64) wxULL(0x0000ff0000000000)) >> 24) | \
(((wxUint64) (val) & (wxUint64) wxULL(0x00ff000000000000)) >> 40) | \
(((wxUint64) (val) & (wxUint64) wxULL(0xff00000000000000)) >> 56)))
-#else /* !wxLongLong_t */
+#elif wxUSE_LONGLONG /* !wxLongLong_t */
#define wxUINT64_SWAP_ALWAYS(val) \
((wxUint64) ( \
((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
#define wxINT32_SWAP_ON_BE(val) wxINT32_SWAP_ALWAYS(val)
#define wxUINT32_SWAP_ON_LE(val) (val)
#define wxINT32_SWAP_ON_LE(val) (val)
- #define wxUINT64_SWAP_ON_BE(val) wxUINT64_SWAP_ALWAYS(val)
- #define wxUINT64_SWAP_ON_LE(val) (val)
+ #if wxHAS_INT64
+ #define wxUINT64_SWAP_ON_BE(val) wxUINT64_SWAP_ALWAYS(val)
+ #define wxUINT64_SWAP_ON_LE(val) (val)
+ #endif
#else
#define wxUINT16_SWAP_ON_LE(val) wxUINT16_SWAP_ALWAYS(val)
#define wxINT16_SWAP_ON_LE(val) wxINT16_SWAP_ALWAYS(val)
#define wxINT32_SWAP_ON_LE(val) wxINT32_SWAP_ALWAYS(val)
#define wxUINT32_SWAP_ON_BE(val) (val)
#define wxINT32_SWAP_ON_BE(val) (val)
- #define wxUINT64_SWAP_ON_LE(val) wxUINT64_SWAP_ALWAYS(val)
- #define wxUINT64_SWAP_ON_BE(val) (val)
+ #if wxHAS_INT64
+ #define wxUINT64_SWAP_ON_LE(val) wxUINT64_SWAP_ALWAYS(val)
+ #define wxUINT64_SWAP_ON_BE(val) (val)
+ #endif
#endif
/* ---------------------------------------------------------------------------- */
#define GTK_CLASS_TYPE(klass) ((klass)->type)
#endif
+#ifdef __WXGTK20__
+#define G_DISABLE_DEPRECATED
+#define PANGO_DISABLE_DEPRECATED
+#ifndef __VMS
+/* GtkCombo is not defined on VMS if this is defined */
+# define GTK_DISABLE_DEPRECATED
+#endif
+#endif
+
#endif /* __WXGTK__ */
#if defined(__WXGTK20__) || (defined(__WXX11__) && wxUSE_UNICODE)