GCC 8.4.0 build failure in PartitionGraph.f90 from SELECTTYPE statement
Created by: wgurecky
Encountered an issue building Futility with GCC 8.4.0 at: https://github.com/CASL/Futility/blob/1af276e2d0e027c55aac101616dcc6f96c79467e/src/PartitionGraph.f90#L1042
/home/gurewill/CASL_DEV/VERA.base/VERA/Futility/src/PartitionGraph.f90:1042:23:
SELECTTYPE(evecs(1)); TYPEIS(PETScVectorType)
1
Error: Selector in SELECT TYPE at (1) is not a named variable; use associate-name=>
/home/gurewill/CASL_DEV/VERA.base/VERA/Futility/src/PartitionGraph.f90:1042:30:
SELECTTYPE(evecs(1)); TYPEIS(PETScVectorType)
1
Error: Unexpected TYPE IS statement at (1)
/home/gurewill/CASL_DEV/VERA.base/VERA/Futility/src/PartitionGraph.f90:1044:5:
ENDSELECT
1
Error: Expecting END SUBROUTINE statement at (1)
/home/gurewill/CASL_DEV/VERA.base/VERA/Futility/src/PartitionGraph.f90:1043:53:
CALL recursiveEigenOrder(evecs(2:numvecs), Order)
1
Error: Type mismatch in argument 'evecs' at (1); passed CLASS(vectortype) to TYPE(petscvectortype)
make[2]: *** [Futility/src/CMakeFiles/Utils.dir/PartitionGraph.f90.o] Error 1
Proposed fix:
--- a/src/PartitionGraph.f90
+++ b/src/PartitionGraph.f90
@@ -1039,7 +1039,7 @@ RECURSIVE SUBROUTINE RecursiveSpectralBisection(thisGraph)
DO iv=1,nvert
Order(iv)=iv
ENDDO !iv
- SELECTTYPE(evecs(1)); TYPEIS(PETScVectorType)
+ SELECTTYPE(evecs); TYPEIS(PETScVectorType)
CALL recursiveEigenOrder(evecs(2:numvecs), Order)
ENDSELECT
DO iv=1,SIZE(evecs)