Skip to content

Add -fallow-argument-mismatch for gfortran 10+ #4

Description

@learning-chip

gfortran 10 and newer leads to this compile error:

/opt/SpLLT/src/spllt_kernels_mod.F90:1505:61:

 1505 |                -one, csrc(bcptr), n1, rsrc(brptr), n1, zero, buffer, col_list_sz)
      |                                                             1
......
 2206 |                   buffer(1+col_list_sz*ndiag), col_list_sz)
      |                  2
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
make[3]: *** [src/CMakeFiles/spllt.dir/build.make:166: src/CMakeFiles/spllt.dir/spllt_kernels_mod.F90.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:210: src/CMakeFiles/spllt.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:217: src/CMakeFiles/spllt.dir/rule] Error 2
make: *** [Makefile:176: spllt] Error 2

Can be fixed by adding -fallow-argument-mismatch to CMAKE_Fortran_FLAGS:

SpLLT/CMakeLists.txt

Lines 86 to 92 in 08a181d

set(CMAKE_Fortran_FLAGS_ALL ${CMAKE_Fortran_FLAGS})
set(CMAKE_C_FLAGS_ALL ${CMAKE_C_FLAGS})
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fcheck=all -Wall")
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO} -fcheck=all -Wall")
# CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -mtune=native")
# CACHE STRING "Flags used by the compiler during release builds." FORCE)

Reference: scipy/scipy#11611

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions