When return out of __try block. In this test case, currently "false" is passed to OutlinedFinally's call. "true" should be passed to indicate abnormal terminations. The rule: Except _leave and fall-through at the end, all other exits in a _try (return/goto/continue/break) are considered as abnormal terminations, NormalCleanupDestSlot is used to indicate abnormal terminations. The problem is, during the processing abnormal terminations, the ExitSwitch is used. However, in this case, Existswitch is route out. One way to fix is to skip route it without a switch. So proper abnormal termination's code could be generated. Differential Revision: https://reviews.llvm.org/D158233
52 KiB
52 KiB