On Wed, Nov 08, 2017 at 08:07:42AM +0100, Martin Liška wrote: > diff --git a/gcc/gimplify.c b/gcc/gimplify.c > index c4fd5038d92..9563d825a6a 100644 > --- a/gcc/gimplify.c > +++ b/gcc/gimplify.c > @@ -2223,7 +2223,8 @@ expand_FALLTHROUGH_r (gimple_stmt_iterator *gsi_p, bool > *handled_ops_p, > while (!gsi_end_p (gsi2)) > { > stmt = gsi_stmt (gsi2); > - if (gimple_code (stmt) == GIMPLE_LABEL) > + enum gimple_code gc = gimple_code (stmt); > + if (gc == GIMPLE_LABEL) > { > tree label = gimple_label_label (as_a <glabel *> (stmt)); > if (gimple_has_location (stmt) && DECL_ARTIFICIAL (label)) > @@ -2232,8 +2233,11 @@ expand_FALLTHROUGH_r (gimple_stmt_iterator *gsi_p, > bool *handled_ops_p, > break; > } > } > + else if (gc == GIMPLE_CALL > + && gimple_call_internal_p (stmt, IFN_ASAN_MARK)) > + ;
I thought you could simply use gimple_call_internal_p (stmt, IFN_ASAN_MARK) here. > --- /dev/null > +++ b/gcc/testsuite/g++.dg/asan/pr82792.C > @@ -0,0 +1,32 @@ > +/* PR sanitizer/82792 */ > +/* { dg-do compile } */ > +/* { dg-options "-fsanitize=address" } */ And shouldn't this use -Wextra or -Wimplicit-fallthrough to check whether the warning is really gone? Marek