]> code.delx.au - gnu-emacs/blobdiff - src/puresize.h
(PURESIZE_CHECKING_RATIO): New macro.
[gnu-emacs] / src / puresize.h
index d49a7a0542dec3e52e3ce8a3f773d0f751263724..5012c7462c1e8b7576b08f0c4bff463e9c6dd9d8 100644 (file)
@@ -41,7 +41,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #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 <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.  */