On Tue, Mar 15, 2011 at 1:32 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org">jed@59a2.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im">On Tue, Mar 15, 2011 at 19:22, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div>Does yours? My Emacs does not follow #if, and it would not know what branch anyway.</div></div></blockquote><div><br></div></div><div>Semantic can parse petscconf.h, then it knows. You are familiar with M-x cpp-highlight-mode, right?</div>
<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>How would it be easier to audit whether all possible combinations were valid if the code was generated?</div>



</blockquote></div></div><br>1) I would see exactly what I got (I know I can do this by hand with -E)</blockquote><div><br></div></div><div>But only for one configuration at a time, the preprocessor statements would be simple if there were a small number of possible configurations. It is nested deeply because there is a combinatorial number of possibilities. How is auditing that faster with code generation. In particular, when you change the generator, how do you confirm that all possible combinations still result in correct code?</div>
</div></blockquote><div><br></div><div>Verification of preprocess code is exactly as intensive, since you have to compile each version. What is your point here?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div>2) I could look at the configure log to see what decisions were made. This is difficult with the #if model.</div>

</blockquote></div></div><div><br></div><div>LOL.</div><div class="im"><div><br></div><div>> 3) The problem turns out to be silent failure due to the need to reconfigure. This would not happen in the</div><div>    generated model.</div>
<div>
<br></div></div><div>If everything was generated, you would always need to reconfigure. Why don't you just always reconfigure now?</div></blockquote><div><br></div><div>The code I had would have continued to work, rather than break.</div>
<div><br></div><div>  Matt</div><div> </div></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>