The tests function has an unreachable block bb.2 leading to an unreachable infinite loop bb.3. As BlockFolding removes the unreachable bb.2, bb.3 is left only referencing itself. This block is then not marked as unreachable and so left out of EHScopeMembership, leading to an assert that FallThroughEHScope != EHScopeMembership.end(). This patch makes sure that blocks not otherwise collected are added to EHScopeMembership in the same way as unreachable blocks.
33 KiB
33 KiB