On Mon, Nov 07, 2016 at 11:03:11AM +0100, Martin Liška wrote: > Hello. > > After discussion with Jakub, I'm resending new version of the patch, where I > changed following: > 1) gimplify_ctxp->live_switch_vars is used to track variables introduced in > switch_expr. Every time > a case_label_expr is seen, these are unpoisoned. It's quite conservative, > however it covers all > corner cases on can come up with. Compared to clang, we are much more > precise in switch statements > where a variable liveness crosses label boundary. > 2) I found a bug where ASAN_CHECK was optimized out due to missing check of > IFN_ASAN_MARK internal fn. > Test was added for that. > 3) Multiple switch tests have been added, which is going to be sent in > upcoming email. > > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests (+ > asan bootstrap finishes > successfully).
Ok for trunk. Hopefully we can resolve the most common cases for switch incrementally, either still during stage1 or early in stage3. Jakub