[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