X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c1473b4cfeb477ced05d457868c5e1eb97a58eb0..dbc812e07b362411b2219a29ef288740ad826677:/src/puresize.h
diff --git a/src/puresize.h b/src/puresize.h
index d49a7a0542..5012c7462c 100644
--- a/src/puresize.h
+++ b/src/puresize.h
@@ -41,7 +41,7 @@ along with GNU Emacs. If not, see . */
#endif
#ifndef BASE_PURESIZE
-#define BASE_PURESIZE (1230000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA)
+#define BASE_PURESIZE (1240000 + SYSTEM_PURESIZE_EXTRA + SITELOAD_PURESIZE_EXTRA)
#endif
/* Increase BASE_PURESIZE by a ratio depending on the machine's word size. */
@@ -53,9 +53,18 @@ along with GNU Emacs. If not, see . */
#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. */