]> granicus.if.org Git - gc/commitdiff
Allow to force GC_dump_regularly set on at compilation
authorIvan Maidanski <ivmai@mail.ru>
Thu, 21 Nov 2013 22:37:37 +0000 (02:37 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 21 Nov 2013 22:43:15 +0000 (02:43 +0400)
* doc/README.macros (GC_DUMP_REGULARLY): Document.
* misc.c (GC_dump_regularly): Turn on by default if GC_DUMP_REGULARLY
macro defined (but not NO_DEBUGGING) - useful for embedded environments.
* misc.c (GC_init): Skip "GC_DUMP_REGULARLY" environments variable check
if GC_dump_regularly already set by the corresponding macro (only if not
NO_DEBUGGING).

doc/README.macros
misc.c

index a822f0f47cd7175ba21c23c82abb16cdcc5f194a..4e93acbcad6b794243c323632b21556424d56f2c 100644 (file)
@@ -235,6 +235,8 @@ IGNORE_FREE     Turns calls to free into a no-op.  Only useful with
 NO_DEBUGGING    Removes GC_dump and the debugging routines it calls.
   Reduces code size slightly at the expense of debuggability.
 
+GC_DUMP_REGULARLY       Generate regular debugging dumps.
+
 DEBUG_THREADS   Turn on printing additional thread-support debugging
   information.
 
diff --git a/misc.c b/misc.c
index 8e2da6860111da4ca3e487eb84d759793de641a2..c0ba6f4d6921ced48f3bb95c350552b70b663dc8 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -102,8 +102,12 @@ GC_bool GC_quiet = 0; /* used also in pcr_interface.c */
 #endif
 
 #ifndef NO_DEBUGGING
-  GC_INNER GC_bool GC_dump_regularly = FALSE;
+# ifdef GC_DUMP_REGULARLY
+    GC_INNER GC_bool GC_dump_regularly = TRUE;
                                 /* Generate regular debugging dumps. */
+# else
+    GC_INNER GC_bool GC_dump_regularly = FALSE;
+# endif
 #endif
 
 #ifdef KEEP_BACK_PTRS
@@ -934,7 +938,7 @@ GC_API void GC_CALL GC_init(void)
         }
 #     endif
 #   endif /* !SMALL_CONFIG */
-#   ifndef NO_DEBUGGING
+#   if !defined(NO_DEBUGGING) && !defined(GC_DUMP_REGULARLY)
       if (0 != GETENV("GC_DUMP_REGULARLY")) {
         GC_dump_regularly = TRUE;
       }