aboutsummaryrefslogtreecommitdiff
path: root/libxsde/xsde/cxx/stack.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'libxsde/xsde/cxx/stack.ixx')
-rw-r--r--libxsde/xsde/cxx/stack.ixx13
1 files changed, 12 insertions, 1 deletions
diff --git a/libxsde/xsde/cxx/stack.ixx b/libxsde/xsde/cxx/stack.ixx
index 05c60ac..8b69407 100644
--- a/libxsde/xsde/cxx/stack.ixx
+++ b/libxsde/xsde/cxx/stack.ixx
@@ -3,6 +3,12 @@
// copyright : Copyright (c) 2005-2010 Code Synthesis Tools CC
// license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+#ifdef XSDE_CUSTOM_ALLOCATOR
+# include <xsde/cxx/allocator.hxx>
+#else
+# include <new> // operator new/delete
+#endif
+
namespace xsde
{
namespace cxx
@@ -10,7 +16,12 @@ namespace xsde
inline stack::
~stack ()
{
- delete[] data_;
+ if (data_)
+#ifndef XSDE_CUSTOM_ALLOCATOR
+ operator delete (data_);
+#else
+ cxx::free (data_);
+#endif
}
inline stack::