tweak so that block-delete-p is findable by grep for 'def.*block-delete-p'
authorJingyi Hou <houjingyi@gmail.com>
Thu, 23 May 2013 18:20:32 +0000 (02:20 +0800)
committerChristophe Rhodes <csr21@cantab.net>
Thu, 23 May 2013 19:47:44 +0000 (20:47 +0100)
src/compiler/node.lisp

index 852199e..2e5fd52 100644 (file)
 (!def-boolean-attribute block
   reoptimize flush-p type-check delete-p type-asserted test-modified)
 
-;;; FIXME: Tweak so that definitions of e.g. BLOCK-DELETE-P is
-;;; findable by grep for 'def.*block-delete-p'.
-(macrolet ((frob (slot)
-             `(defmacro ,(symbolicate "BLOCK-" slot) (block)
-                `(block-attributep (block-flags ,block) ,',slot))))
-  (frob reoptimize)
-  (frob flush-p)
-  (frob type-check)
-  (frob delete-p)
-  (frob type-asserted)
-  (frob test-modified))
+(macrolet ((defattr (block-slot)
+             `(defmacro ,block-slot (block)
+                `(block-attributep
+                  (block-flags ,block)
+                  ,(symbolicate (subseq (string ',block-slot) 6))))))
+  (defattr block-reoptimize)
+  (defattr block-flush-p)
+  (defattr block-type-check)
+  (defattr block-delete-p)
+  (defattr block-type-asserted)
+  (defattr block-test-modified))
 
 ;;; The CBLOCK structure represents a basic block. We include
 ;;; SSET-ELEMENT so that we can have sets of blocks. Initially the