summaryrefslogtreecommitdiff
path: root/Build/source/libs/xpdf/xpdf-src/goo/gmempp.cc
blob: fe5790b1f58aacfe3e2bcbd848ae92c63376e283 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//========================================================================
//
// gmempp.cc
//
// Use gmalloc/gfree for C++ new/delete operators.
//
// Copyright 1996-2003 Glyph & Cog, LLC
//
//========================================================================

#include <aconf.h>
#include "gmem.h"
// NB: do not include gmempp.h here.

#ifdef DEBUG_MEM

void *operator new(size_t size) {
  return gmalloc((int)size, 1);
}

void *operator new(size_t size, int dummy) {
  return gmalloc((int)size, 0);
}

void *operator new[](size_t size) {
  return gmalloc((int)size, 1);
}

void *operator new[](size_t size, int dummy) {
  return gmalloc((int)size, 0);
}

void operator delete(void *p) {
  gfree(p);
}

// This is only called if a constructor throws an exception.
void operator delete(void *p, int dummy) {
  gfree(p);
}

void operator delete[](void *p) {
  gfree(p);
}

// This is only called if a constructor throws an exception.
void operator delete[](void *p, int dummy) {
  gfree(p);
}

#endif