summaryrefslogtreecommitdiff
path: root/src/puresize.h
diff options
context:
space:
mode:
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. */