When we were doing this for a lot of NetBSD, we did a lot of the work
semi-automatically, which made reliability higher. Between protoize
and something that automatically expanded all the __Ps, things went
pretty fast. We did a lot of testing, but I don't think there was a
single bug that happened as a result of *automated* prototypes.
That said, even if you automate, the one potential problem is if you
have calls made from scopes where no prototype definition is in
scope. The tricky bit is that some promotions can happen differently
in old K&R world. There's a -W for both gcc and llvm that will detect
this for you, though.
--
Perry E. Metzger
pe...@piermont.com