Procházet zdrojové kódy

Replace use of non-portable ssize_t with ptrdiff_t

Fixes #1250
rdb před 3 roky
rodič
revize
452c103c2e

+ 2 - 2
panda/src/gobj/circularAllocator.cxx

@@ -17,7 +17,7 @@
  * Advances the head.  Returns the new offset, or -1 if there was no space for
  * a contiguous allocation of this size and alignment.
  */
-ssize_t CircularAllocator::
+ptrdiff_t CircularAllocator::
 alloc(size_t size, size_t alignment) {
   if (size > _capacity) {
     return -1;
@@ -84,5 +84,5 @@ alloc(size_t size, size_t alignment) {
   }
   while ((size_t)AtomicAdjust::compare_and_exchange(_head, prev_head, next_head) != prev_head);
 
-  return (ssize_t)this_head;
+  return (ptrdiff_t)this_head;
 }

+ 1 - 1
panda/src/gobj/circularAllocator.h

@@ -36,7 +36,7 @@ public:
 
   CircularAllocator &operator = (CircularAllocator &&from) noexcept = default;
 
-  ssize_t alloc(size_t size, size_t alignment=0);
+  ptrdiff_t alloc(size_t size, size_t alignment=0);
 
   INLINE void reset();
 

+ 2 - 2
panda/src/vulkandisplay/vulkanGraphicsStateGuardian.cxx

@@ -4073,7 +4073,7 @@ alloc_dynamic_uniform_buffer(VkDeviceSize size, uint32_t &offset) {
     return nullptr;
   }
 
-  ssize_t result = _uniform_buffer_allocator.alloc(size);
+  ptrdiff_t result = _uniform_buffer_allocator.alloc(size);
   if (result >= 0) {
     offset = (uint32_t)result;
     return (char *)_uniform_buffer_ptr + result;
@@ -4169,7 +4169,7 @@ alloc_staging_buffer(VkDeviceSize size, VkBuffer &buffer, uint32_t &offset) {
     }
   }
 
-  ssize_t result = _staging_buffer_allocator.alloc(size);
+  ptrdiff_t result = _staging_buffer_allocator.alloc(size);
   if (result >= 0) {
     buffer = _staging_buffer;
     offset = (uint32_t)result;