summaryrefslogtreecommitdiff
path: root/src/puresize.h
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-07-24 20:26:48 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-07-24 20:26:48 +0000
commitdbc812e07b362411b2219a29ef288740ad826677 (patch)
treec8f3b0348b4c9335b98ea79bf8e3f3e9791566c3 /src/puresize.h
parent383cee7be3c05ca079c452bee2c024317864292a (diff)
downloademacs-dbc812e07b362411b2219a29ef288740ad826677.tar.gz
(PURESIZE_CHECKING_RATIO): New macro.
(PURESIZE): Use it.
Diffstat (limited to 'src/puresize.h')
-rw-r--r--src/puresize.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/puresize.h b/src/puresize.h
index 9dba57ac497..5012c7462c1 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -53,9 +53,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif
#endif
+#ifdef ENABLE_CHECKING
+/* ENABLE_CHECKING somehow increases the purespace used, probably because
+ it tends to cause some macro arguments to be evaluated twice. This is
+ a bug, but it's difficult to track it down. */
+#define PURESIZE_CHECKING_RATIO 12/10 /* Don't surround with `()'. */
+#else
+#define PURESIZE_CHECKING_RATIO 1
+#endif
+
/* This is the actual size in bytes to allocate. */
#ifndef PURESIZE
-#define PURESIZE (BASE_PURESIZE * PURESIZE_RATIO)
+#define PURESIZE (BASE_PURESIZE * PURESIZE_RATIO * PURESIZE_CHECKING_RATIO)
#endif
/* Signal an error if OBJ is pure. */