I sympathize with the general idea, but I don't like dead code
after abort().  What about cleaning that up?

Good idea, but it should be a separate patch. This patch is "safe",
whereas the cleanup patch could cause problems if it's not done
carefully.

This patch is "safe", however I'd consider not changing assert(0)->abort() if there is code after the assert that looks like an attempt at recovering. Example:

   if (!p) {
       printf ("the impossible has happened!");
       assert (0);
   }

   return p->q;

should be changed to abort, while

   if (!p) {
       printf ("the impossible has happened!");
       assert (0);
       return 0;
   }

   return p->q;

should not.

Paolo


Reply via email to