Just wrap GCC in a shell script that faithfully copies all of the inputs and outputs to and from the real executable, except that whenever the compiler exits with a non-zero status, it triggers the shock collar.
@foone I can only support this if it's also going to give you very clear errors on failure.
I've spent too much time already pounding my head against cryptic messages that some vendor never thought a human would read to be willing to accept punishment when they screw me again.
@gooba42 panic("Splunge!"); was more useful than some other error messages I've run into.
Earlier today I had something that kept spitting "Access violation" over and over like a fountain. No details, not even any description of what function was throwing it.
On an unrelated note I want a big heavy leather collar that actually does serve as a grounding strap as suggested in that old story @foone
@TheColourOfFear it usually does, but only as an optimization for if it has to import that module again. It doesn't do it for the main program, and it can be turned off with no side effects other than it eunningly a little slower