[petsc-dev] Case TS005062693 - XLF: ICE in xlfentry compiling a module with 358 subroutines
Satish Balay
balay at mcs.anl.gov
Wed Mar 3 13:43:36 CST 2021
The only change I can get working (i.e avoid compile errors) is to split petscvecmod.F90 into 2 source files - but I don't know if this will help with xlf..
My [partial] change is in branch balay/reorg-f90-for-xlf
Satish
On Wed, 3 Mar 2021, Satish Balay via petsc-dev wrote:
> On Wed, 3 Mar 2021, Satish Balay via petsc-dev wrote:
>
> > Sure - once any change works locally [for gcc and xlf]
> >
> > When I try - I get a bunch of errors.. [yet to digest them.]
>
> > > >>> Can you please give the following source code workaround a try?
> > > >>> Since there is already "use petscvecdefdummy" at the module scope, one workaround might be to remove the unnecessary "use petscvecdefdummy" in vecnotequal and vecequals
> > > >>> and all similar procedures.
> > > >>>
> > > >>> For example, the test case has:
> > > >>> module petscvecdef
> > > >>> use petscvecdefdummy
> > > >>> ...
> > > >>> function vecnotequal(A,B)
> > > >>> use petscvecdefdummy
> > > >>> logical vecnotequal
> > > >>> type(tVec), intent(in) :: A,B
> > > >>> vecnotequal = (A%v .ne. B%v)
> > > >>> end function
>
>
> Ok - try this suggestion:
>
> diff --git a/src/vec/f90-mod/petscvecmod.F90 b/src/vec/f90-mod/petscvecmod.F90
> index 0c447156b9..81968c7ca1 100644
> --- a/src/vec/f90-mod/petscvecmod.F90
> +++ b/src/vec/f90-mod/petscvecmod.F90
> @@ -77,7 +77,6 @@
> use petscvecdefdummy
> interface operator(.ne.)
> function vecnotequal(A,B)
> - use petscvecdefdummy
> logical vecnotequal
> type(tVec), intent(in) :: A,B
> end function
>
>
> >>>>>
> FC arch-linux-c-debug/obj/vec/f90-mod/petscvecmod.o
> /home/balay/petsc/src/vec/f90-mod/petscvecmod.F90:81:22:
>
> 81 | type(tVec), intent(in) :: A,B
> | 1
> Error: Derived type ‘tvec’ at (1) is being used before it is defined
> /home/balay/petsc/include/../src/vec/f90-mod/ftn-auto-interfaces/petscis.h90:2:10:
>
> 2 | use petscvecdef
> | 1
> Fatal Error: Cannot open module file ‘petscvecdef.mod’ for reading at (1): No such file or directory
> <<<<<<
>
> Satish
More information about the petsc-dev
mailing list