<div class="gmail_quote">On Tue, Mar 15, 2011 at 19:22, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com">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>Semantic can parse petscconf.h, then it knows. You are familiar with M-x cpp-highlight-mode, right?</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">
<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>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> </div><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><br></div><div>LOL.</div><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>If everything was generated, you would always need to reconfigure. Why don't you just always reconfigure now?</div>