<br><br><div class="gmail_quote">On Thu, Nov 10, 2011 at 9:14 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@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;">

<div class="im"><div class="gmail_quote">On Thu, Nov 10, 2011 at 08:23, 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>No one thinks arrays are easier, however variadic functions are not interoperable, and it seems they can fail in</div>
<div>weird ways even for C++. In my book, that is "not robust".</div></blockquote></div><br></div><div>Format strings would make it explicit how many parameters you expected. You could also specify global versus ghosted independently for each entry.</div>

</blockquote><div><br></div><div>Besides the number of arguments, there is the issue of them being passed on the stack, as I (sort of) understand.</div><div>The format string would tell us what type each argument is supposed to be, so that the args can be cast correctly inside the called function.  Is that right? </div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br></div><div>Even without the issues of passing NULL as a pointer, I'm concerned about using variadic functions without any other indication of the expected number of entries because of what happens if you add a DM to the DMComposite, but forget to update every call site to match.</div>


</blockquote></div><br>