Several of my applications manipulate image data, consisting of arrays of single characters. For these applications, I don't use Checkmate because of the way it 'detects' undefined variables (using a specific byte value). For image data, this specific byte value is as good as any other, and so every time it occurs legitimately it generates a false positive runtime error - as a result, I build these apps with /debug as the highest diagnostic level. Unfortunately, this throws the baby out with the bathwater, where 'baby' = all the other stuff that Checkmate does, which I /would/ like to use - but it's all too easy to forget that I'm working without the Checkmate safety net.
I just got reminded of this when I had to track down a puzzling data overwrite which turned out to be due to a write past the end of an array - that Checkmate would have identified (I just checked, and it did, at runtime; however, before I even got that far, I got a compile-time warning that has got me worried about something else now - see separate post).
Which leads me to my question:
In principle, different program units could be compiled with different compile options, and linked to form an exe with different levels of diagnostic power in different parts. Assume I reorganise my code so that I separate out the parts where I need to forsake Checkmate as a compile option. I end up with program units that need to be compiled with different compile options, and then linked. Can I do this within Plato? If not, how would I go about it in a command line manner?