No one needs a broken anything,
Not necessarily and perhaps not in this case. Let's suppose there was
an implementation of -ftrapv that did trap, but only about 80% of the
time. Such an implementation would nevertheless be useful in C since
there overflow is not a required feature of the language, but merely
useful, and you could well argue that it's better to catch 80% of the
overflows than 0%. But for Ada, it's a language requirement that we
catch *all* overflows, so an implementation that was 80% correct there
isn't useful at all since an alternate one is required.