Skip to content

Build fails with Intel Fortran 18 #299

Open
@awvwgk

Description

@awvwgk

I just rolled back my Intel version to check which Intel compilers are supported with stdlib. Testing the range from Intel 16 to Intel 20, I found Intel 18 and older will currently fail to compile stdlib.

Tested on OpenSUSE with

Configuration test results look similar to latest Intel oneAPI compilers:

-- Performing Test f18errorstop - Failed
-- Performing Test f03rank - Success
-- Performing Test f03real128 - Success

The build for Intel 18 also generates the warning

ifort: command line warning #10159: invalid argument for option '-stand'

All builds fail for stdlib_quadrature_simps with

[79/171] Building Fortran object src/CMakeFil...tran_stdlib.dir/stdlib_quadrature_simps.f90.o
FAILED: src/CMakeFiles/fortran_stdlib.dir/stdlib_quadrature_simps.f90.o src/mod_files/stdlib_quadrature@stdlib_quadrature_simps.smod 
/software/intel/parallel_studio_xe_2018/compilers_and_libraries_2018.2.199/linux/bin/intel64/ifort  -Isrc -Isrc/mod_files -module src/mod_files/ -warn declarations,general,usage,interfaces,unused -standard-semantics -stand f18 -c src/CMakeFiles/fortran_stdlib.dir/stdlib_quadrature_simps.f90-pp.f90 -o src/CMakeFiles/fortran_stdlib.dir/stdlib_quadrature_simps.f90.o
ifort: command line warning #10159: invalid argument for option '-stand'
src/stdlib_quadrature_simps.f90(50): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral =  simps38(y(1:4), dx) + simps(y(4:6), dx)
------------------------------------------------------^
src/stdlib_quadrature_simps.f90(54): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral = simps(y(1:3), dx) + simps38(y(3:6), dx)
-------------------------------^
src/stdlib_quadrature_simps.f90(70): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), dx) + simps(y(4:n), dx)
---------------------------------------------------------^
src/stdlib_quadrature_simps.f90(74): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), dx) + simps38(y(n-3:n), dx)
-----------------------------------^
src/stdlib_quadrature_simps.f90(113): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral =  simps38(y(1:4), dx) + simps(y(4:6), dx)
------------------------------------------------------^
src/stdlib_quadrature_simps.f90(117): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral = simps(y(1:3), dx) + simps38(y(3:6), dx)
-------------------------------^
src/stdlib_quadrature_simps.f90(133): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), dx) + simps(y(4:n), dx)
---------------------------------------------------------^
src/stdlib_quadrature_simps.f90(137): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), dx) + simps38(y(n-3:n), dx)
-----------------------------------^
src/stdlib_quadrature_simps.f90(176): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral =  simps38(y(1:4), dx) + simps(y(4:6), dx)
------------------------------------------------------^
src/stdlib_quadrature_simps.f90(180): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    integral = simps(y(1:3), dx) + simps38(y(3:6), dx)
-------------------------------^
src/stdlib_quadrature_simps.f90(196): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), dx) + simps(y(4:n), dx)
---------------------------------------------------------^
src/stdlib_quadrature_simps.f90(200): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), dx) + simps38(y(n-3:n), dx)
-----------------------------------^
src/stdlib_quadrature_simps.f90(260): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n))
-------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(264): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n))
-----------------------------------^
src/stdlib_quadrature_simps.f90(271): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                integral = 0.5_sp * ( simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n)) &
----------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(272): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    + simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n)) )
----------------------^
src/stdlib_quadrature_simps.f90(323): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n))
-------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(327): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n))
-----------------------------------^
src/stdlib_quadrature_simps.f90(334): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                integral = 0.5_dp * ( simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n)) &
----------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(335): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    + simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n)) )
----------------------^
src/stdlib_quadrature_simps.f90(386): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n))
-------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(390): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                        integral = simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n))
-----------------------------------^
src/stdlib_quadrature_simps.f90(397): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                integral = 0.5_qp * ( simps38(y(1:4), x(1:4)) + simps(y(4:n), x(4:n)) &
----------------------------------------------------------------^
src/stdlib_quadrature_simps.f90(398): error #6284: There is no matching specific function for this generic function reference.   [SIMPS]
                    + simps(y(1:n-3), x(1:n-3)) + simps38(y(n-3:n), x(n-3:n)) )
----------------------^
src/stdlib_quadrature_simps.f90(445): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                        w(4:n) = w(4:n) + simps_weights(x(4:n)) ! position 4 needs both rules
------------------------------------------^
src/stdlib_quadrature_simps.f90(450): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                        w(1:n-3) = simps_weights(x(1:n-3))
-----------------------------------^
src/stdlib_quadrature_simps.f90(461): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                w(4:n) = w(4:n) + simps_weights(x(4:n))
----------------------------------^
src/stdlib_quadrature_simps.f90(463): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                w(1:n-3) = w(1:n-3) + simps_weights(x(1:n-3))
--------------------------------------^
src/stdlib_quadrature_simps.f90(513): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                        w(4:n) = w(4:n) + simps_weights(x(4:n)) ! position 4 needs both rules
------------------------------------------^
src/stdlib_quadrature_simps.f90(518): error #6284: There is no matching specific function for this generic function reference.   [SIMPS_WEIGHTS]
                        w(1:n-3) = simps_weights(x(1:n-3))
-----------------------------------^
src/CMakeFiles/fortran_stdlib.dir/stdlib_quadrature_simps.f90-pp.f90(751): catastrophic error: Too many errors, exiting
compilation aborted for src/CMakeFiles/fortran_stdlib.dir/stdlib_quadrature_simps.f90-pp.f90 (code 1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    compiler: ifortSpecific to Intel Fortran compilers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @awvwgk

        Issue actions

          Build fails with Intel Fortran 18 · Issue #299 · fortran-lang/stdlib