]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/checkeddelete.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / checkeddelete.h
index a9e14c3a2e560ccc0dde53e125eac2fd36837a8f..fd295faf8bf174905867b8532fcb4b5dc2f5b1ea 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxCHECKED_DELETE() macro
 // Author:      Vadim Zeitlin
 // Created:     2009-02-03
 // Purpose:     wxCHECKED_DELETE() macro
 // Author:      Vadim Zeitlin
 // Created:     2009-02-03
-// RCS-ID:      $Id$
 // Copyright:   (c) 2002-2009 wxWidgets dev team
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) 2002-2009 wxWidgets dev team
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -11,6 +10,8 @@
 #ifndef _WX_CHECKEDDELETE_H_
 #define _WX_CHECKEDDELETE_H_
 
 #ifndef _WX_CHECKEDDELETE_H_
 #define _WX_CHECKEDDELETE_H_
 
+#include "wx/cpp.h"
+
 // TODO: provide wxCheckedDelete[Array]() template functions too
 
 // ----------------------------------------------------------------------------
 // TODO: provide wxCheckedDelete[Array]() template functions too
 
 // ----------------------------------------------------------------------------
    still force a semicolon after the macro
 */
 
    still force a semicolon after the macro
 */
 
-#ifdef __WATCOMC__
-    #define wxFOR_ONCE(name)              for(int name=0; name<1; name++)
-    #define wxPRE_NO_WARNING_SCOPE(name)  wxFOR_ONCE(wxMAKE_UNIQUE_NAME(name))
-    #define wxPOST_NO_WARNING_SCOPE(name)
-#else
-    #define wxPRE_NO_WARNING_SCOPE(name)  do
-    #define wxPOST_NO_WARNING_SCOPE(name) while ( wxFalse )
-#endif
-
 #define wxCHECKED_DELETE(ptr)                                                 \
 #define wxCHECKED_DELETE(ptr)                                                 \
-    wxPRE_NO_WARNING_SCOPE(scope_var1)                                        \
-    {                                                                         \
-        typedef char complete[sizeof(*ptr)];                                  \
+    wxSTATEMENT_MACRO_BEGIN                                                   \
+        typedef char complete[sizeof(*ptr)] WX_ATTRIBUTE_UNUSED;              \
         delete ptr;                                                           \
         delete ptr;                                                           \
-    } wxPOST_NO_WARNING_SCOPE(scope_var1)
+    wxSTATEMENT_MACRO_END
 
 #define wxCHECKED_DELETE_ARRAY(ptr)                                           \
 
 #define wxCHECKED_DELETE_ARRAY(ptr)                                           \
-    wxPRE_NO_WARNING_SCOPE(scope_var2)                                        \
-    {                                                                         \
-        typedef char complete[sizeof(*ptr)];                                  \
+    wxSTATEMENT_MACRO_BEGIN                                                   \
+        typedef char complete[sizeof(*ptr)] WX_ATTRIBUTE_UNUSED;              \
         delete [] ptr;                                                        \
         delete [] ptr;                                                        \
-    } wxPOST_NO_WARNING_SCOPE(scope_var2)
+    wxSTATEMENT_MACRO_END
 
 
 #endif // _WX_CHECKEDDELETE_H_
 
 
 #endif // _WX_CHECKEDDELETE_H_