[Scummvm-cvs-logs] SF.net SVN: scummvm:[50662] tools/branches/gsoc2010-decompiler/decompiler/ control_flow.cpp

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Mon Jul 5 02:02:59 CEST 2010


Revision: 50662
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50662&view=rev
Author:   pidgeot
Date:     2010-07-05 00:02:59 +0000 (Mon, 05 Jul 2010)

Log Message:
-----------
Only detect breaks in undetermined blocks

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/control_flow.cpp

Modified: tools/branches/gsoc2010-decompiler/decompiler/control_flow.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/control_flow.cpp	2010-07-04 23:59:14 UTC (rev 50661)
+++ tools/branches/gsoc2010-decompiler/decompiler/control_flow.cpp	2010-07-05 00:02:59 UTC (rev 50662)
@@ -266,8 +266,8 @@
 	VertexRange vr = boost::vertices(_g);
 	for (VertexIterator v = vr.first; v != vr.second; ++v) {
 		Group *gr = GET(*v);
-		// Unconditional jump...
-		if ((gr->_end->_type == kJump || gr->_end->_type == kJumpRel) && out_degree(*v, _g) == 1) {
+		// Undetermined block with unconditional jump...
+		if (gr->_type == kNormal && (gr->_end->_type == kJump || gr->_end->_type == kJumpRel) && out_degree(*v, _g) == 1) {
 			OutEdgeIterator oe = boost::out_edges(*v, _g).first;
 			GraphVertex target = boost::target(*oe, _g);
 			Group *targetGr = GET(target);			


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list