Browse Source

use reinterpret_cast for 64-bit architecture

David Rose 18 years ago
parent
commit
651513d595
1 changed files with 4 additions and 2 deletions
  1. 4 2
      dtool/src/cppparser/cppExpression.cxx

+ 4 - 2
dtool/src/cppparser/cppExpression.cxx

@@ -92,7 +92,8 @@ as_integer() const {
     return (int)_u._real;
 
   case RT_pointer:
-    return (int)_u._pointer;
+    // We don't mind if this loses precision.
+    return reinterpret_cast<int>(_u._pointer);
 
   default:
     cerr << "Invalid type\n";
@@ -116,7 +117,8 @@ as_real() const {
     return _u._real;
 
   case RT_pointer:
-    return (double)(int)_u._pointer;
+    // We don't mind if this loses precision.
+    return (double)reinterpret_cast<int>(_u._pointer);
 
   default:
     cerr << "Invalid type\n";