#if wxUSE_APPLE_IEEE
   wxConvertToIeeeExtended(d, (wxInt8 *)buf);
 #else
+  wxUnusedVar(d);
 #if !defined(__VMS__) && !defined(__GNUG__)
 # pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!"
 #endif
 
     // in wxSHOW_SB_NEVER case don't show the scrollbar even if it's needed, in
     // wxSHOW_SB_ALWAYS case show the scrollbar even if it's not needed by
     // passing a special range value to SetScrollbar()
-    int range wxDUMMY_INITIALIZE(0);
+    int range;
     switch ( visibility )
     {
         case wxSHOW_SB_NEVER:
             range = 0;
             break;
 
+        case wxSHOW_SB_ALWAYS:
+            range = scrollUnits ? scrollUnits : -1;
+            break;
+
+        default:
+            wxFAIL_MSG( wxS("unknown scrollbar visibility") );
+            // fall through
+
         case wxSHOW_SB_DEFAULT:
             range = scrollUnits;
             break;
 
-        case wxSHOW_SB_ALWAYS:
-            range = scrollUnits ? scrollUnits : -1;
-            break;
     }
 
     m_win->SetScrollbar(orient, scrollPosition, scrollLinesPerPage, range);
 
     if ( !dc || m_logicalFunction < 0 )
         return;
 
-    int rop wxDUMMY_INITIALIZE(0);
+    int rop;
 
     switch (m_logicalFunction)
     {
         case wxNAND:         rop = R2_NOTMASKPEN;    break;
         case wxOR:           rop = R2_MERGEPEN;      break;
         case wxSET:          rop = R2_WHITE;         break;
+        default:
+            wxFAIL_MSG( wxS("unknown logical function") );
+            return;
     }
 
     SetROP2(GetHdc(), rop);
 
                 if ( idx != wxNOT_FOUND )
                 {
                     idx = MSWFromNativeIdx(idx);
-                    evtType = GetClickEventType(code == NM_RDBLCLK, 1);
+
+                    // due to a bug in mingw32 headers NM_RDBLCLK is signed
+                    // there so we need a cast to avoid warnings about signed/
+                    // unsigned comparison
+                    evtType = GetClickEventType(
+                                code == static_cast<UINT>(NM_RDBLCLK), 1);
                 }
                 //else: ignore clicks outside any column
             }
 
     }
 
     // same thing for CDIS_FOCUS (except simpler as there is only one of them)
+    //
+    // NB: cast is needed to work around the bug in mingw32 headers which don't
+    //     have it inside ListView_GetNextItem() itself (unlike SDK ones)
     if ( ::GetFocus() == hwndList &&
-            ListView_GetNextItem(hwndList, -1, LVNI_FOCUSED) == item )
+            ListView_GetNextItem(
+                hwndList, static_cast<WPARAM>(-1), LVNI_FOCUSED) == item )
     {
         nmcd.uItemState |= CDIS_FOCUS;
     }