diff liboctave/oct-alloc.h @ 4352:80b83de0aa2a

[project @ 2003-02-21 20:01:38 by jwe]
author jwe
date Fri, 21 Feb 2003 20:01:39 +0000
parents e0f687d372ef
children 4c8a2e4e0717
line wrap: on
line diff
--- a/liboctave/oct-alloc.h
+++ b/liboctave/oct-alloc.h
@@ -59,12 +59,21 @@
   bool grow (void);
 };
 
+#if defined (HAVE_PLACEMENT_DELETE)
+#define DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
+    void operator delete (void *p, void *) \
+      { ::operator delete (p, static_cast<void*> (0)); }
+#else
+#define DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
+    void operator delete (void *p, void *) \
+      { ::operator delete (p); }
+#endif
+
 #define DECLARE_OCTAVE_ALLOCATOR \
   public: \
     void *operator new (size_t size, void *p) \
       { return ::operator new (size, p); } \
-    void operator delete (void *p, void *) \
-      { ::operator delete (p); } \
+    DECLARE_OCTAVE_ALLOCATOR_PLACEMENT_DELETE \
     void *operator new (size_t size) { return allocator.alloc (size); } \
     void operator delete (void *p, size_t size) { allocator.free (p, size); } \
   private: \