]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/private/flagscheck.h
Update vc10 build file versions to 3.0.0.
[wxWidgets.git] / include / wx / private / flagscheck.h
index 751278eedfbc7269e1d5e41df05d2e76b6427233..3e3d9fbaae52060f6845ddb848d3379cf7ce1b31 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     helpers for checking that (bit)flags don't overlap
 // Author:      Vaclav Slavik
 // Created:     2008-02-21
 // Purpose:     helpers for checking that (bit)flags don't overlap
 // Author:      Vaclav Slavik
 // Created:     2008-02-21
-// RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vaclav Slavik
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 2008 Vaclav Slavik
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #define _WX_PRIVATE_FLAGSCHECK_H_
 
 #include "wx/debug.h"
 #define _WX_PRIVATE_FLAGSCHECK_H_
 
 #include "wx/debug.h"
+
+// IBM xlC 8 can't parse the template syntax
+#if !defined(__IBMCPP__)
+
 #include "wx/meta/if.h"
 
 namespace wxPrivate
 #include "wx/meta/if.h"
 
 namespace wxPrivate
@@ -36,7 +39,7 @@ namespace wxPrivate
 //
 // NB: If any of this doesn't compile with your compiler and would be too
 //     hard to make work, it's probably best to disable this code and replace
 //
 // NB: If any of this doesn't compile with your compiler and would be too
 //     hard to make work, it's probably best to disable this code and replace
-//     the macros below with empty stubs, this isn't anything criticial.
+//     the macros below with empty stubs, this isn't anything critical.
 
 template<int val> struct FlagsHaveConflictingValues
 {
 
 template<int val> struct FlagsHaveConflictingValues
 {
@@ -101,6 +104,10 @@ template<int all, int add> struct SafelyAddToMask
 #define wxADD_FLAG(f, others) \
     ::wxPrivate::SafelyAddToMask<f, others>::value
 
 #define wxADD_FLAG(f, others) \
     ::wxPrivate::SafelyAddToMask<f, others>::value
 
+#else
+    #define wxADD_FLAG(f, others) (f | others)
+#endif
+
 // Checks if flags value 'f' is within the mask of allowed values
 #define wxASSERT_VALID_FLAGS(f, mask)                   \
     wxASSERT_MSG( (f & mask) == f,                      \
 // Checks if flags value 'f' is within the mask of allowed values
 #define wxASSERT_VALID_FLAGS(f, mask)                   \
     wxASSERT_MSG( (f & mask) == f,                      \