On Sun, Aug 21, 2011 at 10:48 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com">knepley@gmail.com</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="im">On Sun, Aug 21, 2011 at 4:47 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br></div><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">
<br>
  Matt,<br>
<br>
     How do I fix this?  You want a release, you have to help us with all these bugs.</blockquote></div></div></blockquote><div><br></div><div>Crap. 22 is not open in Schipol. I will push when I get to Oslo. Or stick in those 2 lines</div>
<div>and push it before I get there.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</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>Okay, I will explain the fix and push it. You are only getting a warning for this missing</div><div>attribute, and we agreed not to fail on warnings. However, we do search for particular</div>

<div>warnings and fail. This logic is in BuildSystem/config/setCompilers.py:870</div><div><br></div><div><div>  def containsInvalidFlag(self, output):</div><div>    '''If the output contains evidence that an invalid flag was used, return True'''</div>

<div>    if (output.find('Unrecognized command line option') >= 0 or output.find('Unrecognised command line option') >= 0 or</div><div>        output.find('unrecognized command line option') >= 0 or output.find('unrecognized option') >= 0 or output.find('unrecognised option') >= 0 or</div>

<div>        output.find('not recognized') >= 0 or output.find('not recognised') >= 0 or</div><div>        output.find('unknown option') >= 0 or output.find('unknown flag') >= 0 or output.find('Unknown switch') >= 0 or</div>

<div>        output.find('ignoring option') >= 0 or output.find('ignored') >= 0 or</div><div>        output.find('argument unused') >= 0 or</div><div>        # When checking for the existence of 'attribute'</div>

<div>        output.find('is unsupported and will be skipped') >= 0 or</div><div>        output.find('illegal option') >= 0 or output.find('Invalid option') >= 0 or</div><div>        (output.find('bad ') >= 0 and output.find(' option') >= 0) or</div>

<div>        output.find('linker input file unused because linking not done') >= 0 or</div><div>        output.find('PETSc Error') >= 0 or</div><div>        output.find('Unbekannte Option') >= 0 or</div>

<div>        output.find('no se reconoce la opci') >= 0) or output.find('non reconnue') >= 0:</div><div>      return 1</div><div>    return 0</div></div><div><br></div><div>  Thanks,</div><div><br></div>

<div>     Matt</div><div><div></div><div class="h5"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font color="#888888"><br>
   Barry<br>
</font><div><div></div><div><br>
On Aug 20, 2011, at 9:43 PM, Jed Brown wrote:<br>
<br>
> On Thu, Aug 18, 2011 at 18:15, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>  It happily sets the attribute even though the attribute does not exist.<br>
><br>
> Well, you wrote that code. ;-)<br>
><br>
> I think you only need checkCompile() and I guess it should check for warnings about unsupported attributes.<br>
><br>
><br>
><br>
> TEST configureUnused from PETSc.Configure(/export/home/petsc/petsc-dev-3/config/PETSc/Configure.py:528)<br>
> TESTING: configureUnused from PETSc.Configure(/export/home/petsc/petsc-dev-3/config/PETSc/Configure.py:528)<br>
>  Sees if __attribute((unused)) is supported<br>
>        Pushing language Cxx<br>
> sh: /export/home/petsc/soft/mpich2-1.2.1p1/bin/mpicxx -c -o /tmp/petsc-VAqamh/PETSc.Configure/conftest.o -I/tmp/petsc-VAqamh/config.setCompilers -I/tmp/petsc-VAqamh/config.compilers -I/tmp/petsc-VAqamh/config.functions -I/tmp/petsc-VAqamh/config.types -I/tmp/petsc-VAqamh/PETSc.utilities.missing -I/tmp/petsc-VAqamh/config.libraries -I/tmp/petsc-VAqamh/PETSc.Configure -I/tmp/petsc-VAqamh/PETSc.utilities.scalarTypes  -g     /tmp/petsc-VAqamh/PETSc.Configure/conftest.cc<br>


> Executing: /export/home/petsc/soft/mpich2-1.2.1p1/bin/mpicxx -c -o /tmp/petsc-VAqamh/PETSc.Configure/conftest.o -I/tmp/petsc-VAqamh/config.setCompilers -I/tmp/petsc-VAqamh/config.compilers -I/tmp/petsc-VAqamh/config.functions -I/tmp/petsc-VAqamh/config.types -I/tmp/petsc-VAqamh/PETSc.utilities.missing -I/tmp/petsc-VAqamh/config.libraries -I/tmp/petsc-VAqamh/PETSc.Configure -I/tmp/petsc-VAqamh/PETSc.utilities.scalarTypes  -g     /tmp/petsc-VAqamh/PETSc.Configure/conftest.cc<br>


> sh:<br>
> Possible ERROR while running compiler: error message = {"/tmp/petsc-VAqamh/PETSc.Configure/conftest.cc", line 3: Warning: attribute unused is unsupported and will be skipped..<br>
> 1 Warning(s) detected.<br>
> }<br>
> Source:<br>
> #include "confdefs.h"<br>
> #include "conffix.h"<br>
> __attribute((unused)) static int myfunc(void){ return 1;}<br>
><br>
> int main() {<br>
> int i = myfunc();<br>
> ;<br>
>  return 0;<br>
> }<br>
>                Pushing language CXX<br>
>                Popping language CXX<br>
> sh: /export/home/petsc/soft/mpich2-1.2.1p1/bin/mpicxx  -o /tmp/petsc-VAqamh/PETSc.Configure/conftest    -g  /tmp/petsc-VAqamh/PETSc.Configure/conftest.o  -ldl<br>
> Executing: /export/home/petsc/soft/mpich2-1.2.1p1/bin/mpicxx  -o /tmp/petsc-VAqamh/PETSc.Configure/conftest    -g  /tmp/petsc-VAqamh/PETSc.Configure/conftest.o  -ldl<br>
> sh:<br>
>        Defined "UNUSED" to "__attribute((unused))"<br>
>        Popping language Cxx<br>
><br>
><br>
<br>
</div></div></blockquote></div></div></div><font color="#888888"><br><br clear="all"><div><br></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>
</font></blockquote></div><br><br clear="all"><div><br></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>