]> git.sur5r.net Git - cc65/commitdiff
Allow for warning-free build of common with MS VC on warning level 3.
authorOliver Schmidt <ol.sc@web.de>
Sun, 7 Apr 2013 20:19:23 +0000 (22:19 +0200)
committerOliver Schmidt <ol.sc@web.de>
Sun, 7 Apr 2013 22:11:10 +0000 (00:11 +0200)
src/common/fp.c
src/common/inttypes.h
src/common/searchpath.c
src/common/va_copy.h

index c9300c52dd44ef5b27e1d5912546e5ebde595678..d2c5f5218ba08d30169dd658be7055ac313421e9 100644 (file)
@@ -99,7 +99,7 @@ Float FP_F_FromInt (long Val)
 /* Convert an integer into a floating point variable */
 {
     Float D;
-    D.V = Val;
+    D.V = (float) Val;
     return D;
 }
 
@@ -164,7 +164,7 @@ size_t FP_D_Size (void)
 unsigned char* FP_D_Data (Double Val)
 /* Return the raw data of a double in a malloc'ed buffer. Free after use. */
 {
-    float F = Val.V;
+    float F = (float) Val.V;
     return memcpy (xmalloc (F_SIZE), &F, F_SIZE);
 }
 
index ca7f90106fa0a4d06d002137c52ae980036f97de..3c87eb7bec468e2b2838969c77107e24d20b5c35 100644 (file)
 
 
 /* If we have stdint.h, include it, otherwise try some quesswork on types.
- * gcc doesn't define __STDC_VERSION__ without special flags, so check for 
- * gcc explicitly. Undefined symbols are replaced by zero, so a check for
- * defined(__GNUC__) is not necessary.
+ * gcc and msvc don't define __STDC_VERSION__ without special flags, so check
+ * for them explicitly. Undefined symbols are replaced by zero, so a check for
+ * defined(__GNUC__) or defined(_MSC_VER) is not necessary.
  */
-#if (__STDC_VERSION__ >= 199901) || (__GNUC__ >= 3)
+#if (__STDC_VERSION__ >= 199901) || (__GNUC__ >= 3) || (_MSC_VER >= 1600)
 #include <stdint.h>
 #else
 
index 21750229903439d01a03ecca29fc181e5938288b..78d2cce4c9e4a9bf349377312b2d3391a3b6ebf8 100644 (file)
@@ -38,6 +38,7 @@
 #if defined(_MSC_VER)
 /* Microsoft compiler */
 #  include <io.h>
+#  pragma warning(disable : 4996)
 #else
 /* Anyone else */
 #  include <unistd.h>
index cb896b4772323dc1f218cc2cbfaf5408a6efd78d..30f27546138e742155b1ba602ba98ac7cea5925c 100644 (file)
 #define va_copy(dest,src)       __va_copy(dest, src)
 #endif
 
+/* MS VC allows for assignment */
+#if defined(_MSC_VER)
+#define va_copy(dest,src)       ((dest) = (src))
+#endif
+
 /* If va_copy is not defined now, we have a problem */
 #if !defined(va_copy)
 #error "Need a working va_copy!"