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