https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90628
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- -Wdiscarded-qualifiers is for when the prototype requires pointer to non-const and pointer to const is passed, which is the case for the clang style builtins, but not for __builtin_{add,sub,mul}_overflow, where the function is type-generic. So I think the error is better.