On Mon, 2009-08-24 at 13:27 -0400, Jeff Squyres wrote: > It's the difference between: > > a. if (0) { ... convert ... } Modern compilers will remove this code > as part of dead-code removal. > b. if (1) { ... convert ... } Modern compilers will remove the "if > (1)" and always execute the code. > c. if (some_variable) { ... convert ...} An MCA parameter can load > some_variable with 0 or 1. > > The point of b is for sysadmins (or individual developers) who want to > force there to *always* be correct MPI applications.
But couldn't the sysadmin equally well write a config file to achieve the same effect should they want to? Having it enabled (and on) in the standard "debug" build is going to change the behaviour of applications with using a debug library, may well render bugs un-reproducible in debug mode or worse you may end up with end-user applications that only run in debug mode and not with a normal build. I'm all for having as much error checking enabled in debug builds as possible but to change the behaviour risks masking problems elsewhere IMHO. Ashley, -- Ashley Pittman, Bath, UK. Padb - A parallel job inspection tool for cluster computing http://padb.pittman.org.uk