kripken/emscripten — pull request #2071 by rfk (2014-01-28 13:15:05+00:00)
Title: Fix test longjmp throw asm3

This fixes #2069. The original issue surfaced as a `case` statement whose `break` was not properly detected, causing the `buildFlowGraph` function to choke. So the first 4 commits here let us do a much better job of detecting when control-flow does not reach a junction. (So much so that it started removing the final `return` statement as dead code, and I had to add that back in explicitly).

Unfortunately, it seems that other parts of the test suite generate `case` statements that actually do not `break` at all, relying instead on the flow-through semantics of sequential `case` statements. So I've added logic to deal with this, but kept the improvements developed while solving the original bug.

`asm3` and `other` tests run successfully for me.