]>
Commit | Line | Data |
---|---|---|
b4c522fa | 1 | |
f3ed896c | 2 | /* Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved |
b4c522fa IB |
3 | * http://www.digitalmars.com |
4 | * Distributed under the Boost Software License, Version 1.0. | |
5 | * http://www.boost.org/LICENSE_1_0.txt | |
6 | * https://github.com/dlang/dmd/blob/master/src/dmd/root/rmem.h | |
7 | */ | |
8 | ||
9 | #pragma once | |
10 | ||
f9ab59ff | 11 | #include "dsystem.h" // for size_t |
b4c522fa IB |
12 | |
13 | #if __APPLE__ && __i386__ | |
14 | /* size_t is 'unsigned long', which makes it mangle differently | |
15 | * than D's 'uint' | |
16 | */ | |
17 | typedef unsigned d_size_t; | |
18 | #else | |
19 | typedef size_t d_size_t; | |
20 | #endif | |
21 | ||
22 | struct Mem | |
23 | { | |
24 | Mem() { } | |
25 | ||
26 | static char *xstrdup(const char *s); | |
27 | static void *xmalloc(d_size_t size); | |
28 | static void *xcalloc(d_size_t size, d_size_t n); | |
29 | static void *xrealloc(void *p, d_size_t size); | |
30 | static void xfree(void *p); | |
31 | static void *xmallocdup(void *o, d_size_t size); | |
32 | static void error(); | |
33 | }; | |
34 | ||
35 | extern Mem mem; |