<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 7, 2013 at 7:20 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You are too hung up on the "generating" that code. The issue is to have a "complete" software base that is machine manipulatable, how the tiny bit of code that is not manipulatable is manage is not central to the discussion. But note that have non-machine manipulatable in the include directory files pretty much means that no code will be machine manipulatable.</blockquote>
</div><br>We'll always have system stuff and stuff related to other libraries in headers.</div><div class="gmail_extra"><br></div><div class="gmail_extra" style>I think it really matters how those bits of code are managed because that's something we have to teach the code manipulator about. That is, if the code you want to manipulate does not use CPP, or you can teach the manipulator about those bits of CPP (like CHKERRQ), then it's not a problem to code manipulation. And if you have some "other" system for PetscOptions (which is an important macro that is used all over the place), the manipulator still needs to know enough about the semantics of that construct to not mess it up.</div>
</div>