[petsc-dev] PETSC_UNUSED broken needs repair

Matthew Knepley knepley at gmail.com
Sun Aug 21 03:53:06 CDT 2011


On Sun, Aug 21, 2011 at 10:48 AM, Matthew Knepley <knepley at gmail.com> wrote:

> On Sun, Aug 21, 2011 at 4:47 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>>
>>  Matt,
>>
>>     How do I fix this?  You want a release, you have to help us with all
>> these bugs.
>
>
Crap. 22 is not open in Schipol. I will push when I get to Oslo. Or stick in
those 2 lines
and push it before I get there.

  Thanks,

     Matt


> Okay, I will explain the fix and push it. You are only getting a warning
> for this missing
> attribute, and we agreed not to fail on warnings. However, we do search for
> particular
> warnings and fail. This logic is in BuildSystem/config/setCompilers.py:870
>
>   def containsInvalidFlag(self, output):
>     '''If the output contains evidence that an invalid flag was used,
> return True'''
>     if (output.find('Unrecognized command line option') >= 0 or
> output.find('Unrecognised command line option') >= 0 or
>         output.find('unrecognized command line option') >= 0 or
> output.find('unrecognized option') >= 0 or output.find('unrecognised
> option') >= 0 or
>         output.find('not recognized') >= 0 or output.find('not recognised')
> >= 0 or
>         output.find('unknown option') >= 0 or output.find('unknown flag')
> >= 0 or output.find('Unknown switch') >= 0 or
>         output.find('ignoring option') >= 0 or output.find('ignored') >= 0
> or
>         output.find('argument unused') >= 0 or
>         # When checking for the existence of 'attribute'
>         output.find('is unsupported and will be skipped') >= 0 or
>         output.find('illegal option') >= 0 or output.find('Invalid option')
> >= 0 or
>         (output.find('bad ') >= 0 and output.find(' option') >= 0) or
>         output.find('linker input file unused because linking not done') >=
> 0 or
>         output.find('PETSc Error') >= 0 or
>         output.find('Unbekannte Option') >= 0 or
>         output.find('no se reconoce la opci') >= 0) or output.find('non
> reconnue') >= 0:
>       return 1
>     return 0
>
>   Thanks,
>
>      Matt
>
>
>>   Barry
>>
>> On Aug 20, 2011, at 9:43 PM, Jed Brown wrote:
>>
>> > On Thu, Aug 18, 2011 at 18:15, Barry Smith <bsmith at mcs.anl.gov> wrote:
>> >
>> >  It happily sets the attribute even though the attribute does not exist.
>> >
>> > Well, you wrote that code. ;-)
>> >
>> > I think you only need checkCompile() and I guess it should check for
>> warnings about unsupported attributes.
>> >
>> >
>> >
>> > TEST configureUnused from
>> PETSc.Configure(/export/home/petsc/petsc-dev-3/config/PETSc/Configure.py:528)
>> > TESTING: configureUnused from
>> PETSc.Configure(/export/home/petsc/petsc-dev-3/config/PETSc/Configure.py:528)
>> >  Sees if __attribute((unused)) is supported
>> >        Pushing language Cxx
>> > 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
>> > 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
>> > sh:
>> > 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..
>> > 1 Warning(s) detected.
>> > }
>> > Source:
>> > #include "confdefs.h"
>> > #include "conffix.h"
>> > __attribute((unused)) static int myfunc(void){ return 1;}
>> >
>> > int main() {
>> > int i = myfunc();
>> > ;
>> >  return 0;
>> > }
>> >                Pushing language CXX
>> >                Popping language CXX
>> > 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
>> > 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
>> > sh:
>> >        Defined "UNUSED" to "__attribute((unused))"
>> >        Popping language Cxx
>> >
>> >
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110821/af91cfd8/attachment.html>


More information about the petsc-dev mailing list