1 ! Copyright (C) 2009, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors compiler.cfg.rpo kernel sequences ;
4 IN: compiler.cfg.checker
6 ERROR: bad-successors ;
8 : check-successors ( bb -- )
9 dup successors>> [ predecessors>> member-eq? ] with all?
10 [ throw-bad-successors ] unless ;
12 : check-cfg ( cfg -- )
13 [ check-successors ] each-basic-block ;