]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/features.h
supporting clang memory management annotations
[wxWidgets.git] / include / wx / features.h
index ed27473c6f468a53a5ab11014e3cfe12b5c6ebdf..d276ee8502a449b7d888f7500c96cb33b5849fe9 100644 (file)
 
 /* Direct access to bitmap data is not implemented in all ports yet */
 #if defined(__WXGTK20__) || defined(__WXMAC__) || defined(__WXDFB__) || \
-        (defined(__WXMSW__) && !defined(__WATCOMC__))
-
-    // HP aCC for PA-RISC can't compile rawbmp.h
-    #if !defined(__HP_aCC) || !defined(__hppa)
+        defined(__WXMSW__)
+
+    /*
+       These compilers can't deal with templates in wx/rawbmp.h:
+        - HP aCC for PA-RISC
+        - Watcom < 1.8
+     */
+    #if !wxONLY_WATCOM_EARLIER_THAN(1, 8) && \
+        !(defined(__HP_aCC) && defined(__hppa))
         #define wxHAS_RAW_BITMAP
     #endif
 #endif
 /*
    If this is defined, wxEvtHandler::Bind<>() is available (not all compilers
    have the required template support for this and in particular under Windows
-   where only g++ and MSVC >= 7 currently support it, for the others it will be
-   undefined in wx/chkconf.h).
+   where only g++ and MSVC >= 7 currently support it.
+
+   Recent Sun CC versions support this but perhaps older ones can compile this
+   code too, adjust the version check if this is the case (unfortunately we
+   can't easily test for the things used in wx/event.h in configure so we have
+   to maintain these checks manually). The same applies to xlC 7: perhaps
+   earlier versions can compile this code too but they were not tested.
  */
-#define wxHAS_EVENT_BIND
+#if wxCHECK_GCC_VERSION(3, 2) || wxCHECK_VISUALC_VERSION(7) \
+        || (defined(__SUNCC__) && __SUNCC__ >= 0x5100) \
+        || (defined(__xlC__) && __xlC__ >= 0x700)
+    #define wxHAS_EVENT_BIND
+#endif
+
 
 #endif /*  _WX_FEATURES_H_ */