Dave Mitchell <[EMAIL PROTECTED]> wrote: :The various macros ckWARN* are big and clunky, and are used about 600 :times in the core. Since they are usually evaluated only in 'this :shouldn't be happening' codepaths, there doesn't seem to be any benefit :in avoiding a function call.
"This shouldn't be happening" would normally be true for code that has the relevant warning enabled, but may not be for code that doesn't. :The patch below adds functions to do the bulk of the macros, and reduces :the size of the perl executable by 2% (!), and according to make test, is :fractionally faster (but that is most likely noise). If I remember right, a lot of code tests whether the warning is enabled before testing whether the warning case applies, on the assumption that the first check is quick. Many of those cases may want to be re-evaluated in the light of this patch. Hugo