https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91389

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #5)
> (In reply to Martin Liška from comment #4)
> > (In reply to Jakub Jelinek from comment #3)
> > > I see dead code everywhere in the function, they must have some weirdo 
> > > macro
> > > for cases that wraps everything in case something { ... } break;
> > 
> > Is the 'break;' really dead in such situation (when you don't have a return
> > or another break within the {} block)?
> > 
> > > Many of those break; statements are dead code.
> 
> It is dead when you do have an unconditional return in there.  As I said in
> the other PR, we try hard to do a good job with block_may_fallthru and
> gimple_seq_may_fallthru, but it can't handle everything, feel free to
> improve those.  And all -fsanitize=thread does is it adds a cleanup code,
> the same thing as you get if you have an automatic variable with a
> destructor.
> 
> *** This bug has been marked as a duplicate of bug 86899 ***

Sure, thank you for your time.

Reply via email to