https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65583
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Started with r221660, the following seems to fix it: --- a/gcc/passes.c +++ b/gcc/passes.c @@ -425,7 +425,7 @@ public: virtual bool gate (function *) { /* Don't bother doing anything if the program has errors. */ - return (flag_check_pointer_bounds + return ((flag_check_pointer_bounds || flag_sanitize) && !seen_error () && !in_lto_p); } But whether that makes any sense, I don't know yet.