Index: /trunk/source/lisp-kernel/gc-common.c
===================================================================
--- /trunk/source/lisp-kernel/gc-common.c	(revision 13345)
+++ /trunk/source/lisp-kernel/gc-common.c	(revision 13346)
@@ -98,4 +98,21 @@
 natural GCstack_limit = 0;
 
+void
+check_static_cons_freelist(char *phase)
+{
+  LispObj 
+    n,
+    base = (LispObj)static_cons_area->low, 
+    limit = static_cons_area->ndnodes;
+  natural i=0;
+
+  for (n=lisp_global(STATIC_CONSES);n!=lisp_nil;n=((cons *)untag(n))->cdr, i++) {
+    if ((fulltag_of(n) != fulltag_cons) ||
+        (area_dnode(n,base) >= limit)) {
+      Bug(NULL, "%s: static cons freelist has invalid element 0x" LISP "\n",
+          phase, i);
+    }
+  }
+}
 
 void
@@ -1427,4 +1444,5 @@
       check_all_areas(tcr);
     }
+    check_static_cons_freelist("in pre-gc static-cons check");
   }
 
@@ -1690,4 +1708,6 @@
     check_all_areas(tcr);
   }
+  check_static_cons_freelist("in post-gc static-cons check");
+
 
   
