<div dir="ltr">On Fri, Feb 15, 2013 at 3:59 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  Ok, I did an implementation with petscdrawtypes.h included by petscdraw.h, petscksp.h and petscsnes.h</blockquote><div><br></div><div style>Should it go in petsc-private because it generally doesn't make sense for users to include directly? Or stay out of petsc-private because it's "safe" to include if that's what they want?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">   not ideal (I hate having lots of little includes around) but it does keep the PetscDrawLG typedef out of petscys.h<br>

<br>
   People ok with me pushing?<br></blockquote><div><br></div><div style>Yup, should I try doing the same with petscdm.h? I see it as perhaps the biggest funny dependency exposed by include-graph.sh.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
   Barry<br>
<br>
Currently only PetscDrawLG is in there, since that is the only one needed but others or all could be put there if desired.<br>
<div class="HOEnZb"><div class="h5"><br>
On Feb 15, 2013, at 3:44 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
<br>
> On Fri, Feb 15, 2013 at 3:38 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
><br>
> Heh, I thought I remembered that duplicate typedefs were invalid in C, but gcc happily compiled it without a warning. In fact, they _are_ allowed in C11, but not in our old, crusty version of C.<br>
><br>
> From the looks of it, the C forum never explicitly intended for it to be invalid, but as a consequence of the classification of typedef in C (typedef is classified differently in C++), it would have needed to be explicitly allowed. C11 added that clause.<br>

><br>
> <a href="http://stackoverflow.com/a/8595191/33208" target="_blank">http://stackoverflow.com/a/8595191/33208</a><br>
><br>
<br>
</div></div></blockquote></div><br></div></div>