projects
/
jscl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1b2aff6
)
Signal an error for invalid go tags in tagbody
author
David Vázquez
<davazp@gmail.com>
Wed, 22 May 2013 17:09:24 +0000
(18:09 +0100)
committer
David Vázquez
<davazp@gmail.com>
Wed, 22 May 2013 17:09:24 +0000
(18:09 +0100)
experimental/compiler.lisp
patch
|
blob
|
history
diff --git
a/experimental/compiler.lisp
b/experimental/compiler.lisp
index
11fc293
..
03b7499
100644
(file)
--- a/
experimental/compiler.lisp
+++ b/
experimental/compiler.lisp
@@
-612,9
+612,13
@@
(push (cons tag (current-block)) tag-blocks))))
;; Convert the statements into the correct block.
(dolist (stmt statements)
- (if (go-tag-p stmt)
- (set-cursor :block (cdr (assoc stmt tag-blocks)))
- (ir-convert stmt))))))
+ (cond
+ ((go-tag-p stmt)
+ (set-cursor :block (cdr (assoc stmt tag-blocks))))
+ ((atom stmt)
+ (error "Invalid tag `~S'" stmt))
+ (t
+ (ir-convert stmt)))))))
(define-ir-translator go (label)
(let ((tag-binding