[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:11:20 CST 2021


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