ソースを参照

compiler tweaks

David Rose 21 年 前
コミット
27b8913ad9

+ 1 - 1
direct/src/dcparse/Sources.pp

@@ -9,7 +9,7 @@
 #begin bin_target
   #define TARGET dcparse
   #define LOCAL_LIBS dcparser
-  #define OTHER_LIBS $[OTHER_LIBS] pystub
+  #define USE_PACKAGES python
 
   #define SOURCES \
     dcparse.cxx

+ 1 - 0
direct/src/dcparser/Sources.pp

@@ -7,6 +7,7 @@
 #define YACC_PREFIX dcyy
 #define C++FLAGS -DWITHIN_PANDA
 #define UNIX_SYS_LIBS m
+#define USE_PACKAGES python
 
 #begin lib_target
   #define TARGET dcparser

+ 11 - 8
direct/src/dcparser/dcAtomicField.cxx

@@ -373,35 +373,35 @@ pack_arg(Datagram &datagram, PyObject *item, DCSubatomicType type) const {
   } else {
     switch (type) {
     case ST_int8:
-      datagram.add_int8(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_int8((PN_int8)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_int16:
-      datagram.add_int16(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_int16((PN_int16)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_int32:
-      datagram.add_int32(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_int32((PN_int32)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_int64:
-      datagram.add_int64(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_int64((PN_int64)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_uint8:
-      datagram.add_uint8(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_uint8((PN_uint8)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_uint16:
-      datagram.add_uint16(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_uint16((PN_uint16)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_uint32:
-      datagram.add_uint32(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_uint32((PN_uint32)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_uint64:
-      datagram.add_uint64(floor(PyFloat_AsDouble(item) * _divisor + 0.5));
+      datagram.add_uint64((PN_uint64)floor(PyFloat_AsDouble(item) * _divisor + 0.5));
       break;
 
     case ST_float64:
@@ -418,6 +418,9 @@ pack_arg(Datagram &datagram, PyObject *item, DCSubatomicType type) const {
       PyString_AsStringAndSize(item, &str, &size);
       datagram.add_string32(string(str, size));
       break;
+
+    default:
+      break;
     }
   }
 }