test/testtypes.c
changeset 1154 d93862a3d821
parent 47 45b1c4303f87
child 1387 835c1831f903
--- a/test/testtypes.c	Sun Oct 02 00:50:03 2005 +0000
+++ b/test/testtypes.c	Mon Oct 03 08:12:32 2005 +0000
@@ -1,8 +1,20 @@
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include "SDL_main.h"
 #include "SDL_types.h"
 
+/*
+ * Watcom C flags these as Warning 201: "Unreachable code" if you just
+ *  compare them directly, so we push it through a function to keep the
+ *  compiler quiet.  --ryan.
+ */
+static int badsize(size_t sizeoftype, size_t hardcodetype)
+{
+    return sizeoftype != hardcodetype;
+}
+
 int main(int argc, char *argv[])
 {
 	int error = 0;
@@ -11,26 +23,26 @@
 	if ( argv[1] && (strcmp(argv[1], "-q") == 0) )
 		verbose = 0;
 
-	if ( sizeof(Uint8) != 1 ) {
+	if ( badsize(sizeof(Uint8), 1) ) {
 		if ( verbose )
 			printf("sizeof(Uint8) != 1, instead = %d\n",
 								sizeof(Uint8));
 		++error;
 	}
-	if ( sizeof(Uint16) != 2 ) {
+	if ( badsize(sizeof(Uint16), 2) ) {
 		if ( verbose )
 			printf("sizeof(Uint16) != 2, instead = %d\n",
 								sizeof(Uint16));
 		++error;
 	}
-	if ( sizeof(Uint32) != 4 ) {
+	if ( badsize(sizeof(Uint32), 4) ) {
 		if ( verbose )
 			printf("sizeof(Uint32) != 4, instead = %d\n",
 								sizeof(Uint32));
 		++error;
 	}
 #ifdef SDL_HAS_64BIT_TYPE
-	if ( sizeof(Uint64) != 8 ) {
+	if ( badsize(sizeof(Uint64), 8) ) {
 		if ( verbose )
 			printf("sizeof(Uint64) != 8, instead = %d\n",
 								sizeof(Uint64));