aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorLinus Torvalds <torvalds@home.osdl.org>2004-02-12 13:50:44 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:01:23 -0700
commit18daf55618bab18c5feaa4c9fffc53179ff3a560 (patch)
tree5330d9c38d81b3cf33ea30ae3d8722decb9aed36 /linearize.c
parentdcc3d37fdc742914668f4e37f17024a95466ed80 (diff)
downloadsparse-dev-18daf55618bab18c5feaa4c9fffc53179ff3a560.tar.gz
Fix the "none of the above" case for switch statements.
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/linearize.c b/linearize.c
index c2637c53..f73cdb7c 100644
--- a/linearize.c
+++ b/linearize.c
@@ -186,6 +186,9 @@ static struct basic_block * linearize_statement(struct symbol_list **syms,
add_statement(&bb->stmts, sw_bb);
} END_FOR_EACH_PTR;
+ /* Default fall-through case */
+ bb->next = stmt->switch_break;
+
/* And linearize the actual statement */
bb = linearize_statement(syms, bbs, new_basic_block(bbs), stmt->switch_statement);