Hi! During backporting I've noticed I've missed one return spot for the restoration of the original flag_trapv flag value.
Tested on x86_64-linux, committed to trunk as obvious. Sorry. 2024-04-19 Jakub Jelinek <ja...@redhat.com> PR middle-end/114753 * internal-fn.cc (expand_arith_overflow): Add one missing restore of flag_trapv before return. --- gcc/internal-fn.cc.jj 2024-04-18 09:45:08.079695875 +0200 +++ gcc/internal-fn.cc 2024-04-19 18:11:51.202204402 +0200 @@ -2793,6 +2793,7 @@ expand_arith_overflow (enum tree_code co case PLUS_EXPR: expand_addsub_overflow (loc, code, lhs, arg0, arg1, unsr_p, unsr_p, unsr_p, false, NULL); + flag_trapv = save_flag_trapv; return; case MULT_EXPR: expand_mul_overflow (loc, lhs, arg0, arg1, unsr_p, Jakub