https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117249
--- Comment #12 from Alexander Monakov <amonakov at gcc dot gnu.org> --- On IRC Jakub mentioned gcc_assert (token() == TYPEDEF) in gengtype and Richi further noted tree-ssa-loop-ivopts.cc:gcc_assert (use->op_p = gimple_call_arg_ptr (call, 0)); cgraph.cc: gcc_assert (++edges_max_uid != 0); genautomata.cc: gcc_assert (j++ == DECL_INSN_RESERV (decl)->insn_num); config/ia64/ia64.cc:gcc_assert ((code = recog_memoized (insn)) == CODE_FOR_nop config/nvptx/nvptx.cc: gcc_assert (vec_pos = XVECLEN (pat, 0)); I tried injecting a warning for non-pure expressions inside of gcc_assert using the idea from PR 6906 (which spews tons of false positives), checking those I additionally see pair-fusion.cc:gcc_assert (rtl_ssa::restrict_movement (*changes[i], ignore)); df-scan.cc:gcc_assert (df_reg_chain_mark (DF_REG_DEF_CHAIN (i), i, true, false) opts-common.cc:gcc_assert (write (fd, &c, 1) == 1); opts-common.cc:gcc_assert (close (pipefd) == 0);