Commit 3e9c2e751288db191e0dde2380903bfaaabcdaaf

Ryan C. Gordon 2015-04-07T00:39:16

Another attempt to make MSVC's /W4 warning level cooperate with SDL_assert. Fixes Bugzilla #2733.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/include/SDL_assert.h b/include/SDL_assert.h
index 0be9047..5e6f4fc 100644
--- a/include/SDL_assert.h
+++ b/include/SDL_assert.h
@@ -86,11 +86,9 @@ This also solves the problem of...
 disable assertions.
 */
 
-#ifdef _MSC_VER  /* stupid /W4 warnings. */
-#define SDL_NULL_WHILE_LOOP_CONDITION (-1 == __LINE__)
-#else
-#define SDL_NULL_WHILE_LOOP_CONDITION (0)
-#endif
+/* "while (0,0)" fools Microsoft's compiler's /W4 warning level into thinking
+    this condition isn't constant. And looks like an owl's face! */
+#define SDL_NULL_WHILE_LOOP_CONDITION (0,0)
 
 #define SDL_disabled_assert(condition) \
     do { (void) sizeof ((condition)); } while (SDL_NULL_WHILE_LOOP_CONDITION)