https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113727
--- Comment #12 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- (In reply to David Binderman from comment #11) > Created attachment 57310 [details] > C source code static uint32_t (safe_mul_func_uint32_t_u_u)(uint32_t ui1, uint32_t ui2 ) { } This thing is UB if you use its return value (in C; in C++ it will be an UB even if the return value is not used). Better adding -Werror=return-type to cvise.