SW上请问有支持Fortran 2003的编译器吗?



  • 代码中有用到abstract interface、过程指针等Fortran 2003的特性。似乎在mpif90中不支持,请问SW上是否有支持这些特性的编译器?
    😊 😊 😊 多谢~

       abstract interface
          function mpas_define_packages_function(packages) result(iErr)
             import mpas_pool_type
             type (mpas_pool_type), intent(inout) :: packages
             integer :: iErr
          end function mpas_define_packages_function
       end interface
    

    @popo @段晓辉



  • @老泽征尔 module avail看一眼, 有个gcc-530, bug更多一点, 可能支持f03



  • 多谢☺ ~



  • @段晓辉 @popo
    我已经尝试了相应的编译器,还是不太支持f03特性,下面有我相关特性的代码(procedure pointer)和makefile文件(此文件中编译器用的swgcc-5.3.0),望能指点是否真的就不支持该特性。多谢~
    源码:(!此程序返回的是x+y的和 )

    MODULE M  
       ABSTRACT INTERFACE  
           SUBROUTINE SUB(X,Y)  
               INTEGER ,INTENT(IN)::X  
               INTEGER ,INTENT(IN)::Y  
           END SUBROUTINE  
       END INTERFACE  
    END MODULE  
     
    PROGRAM MAIN  
       USE M  
       PROCEDURE (SUB) SUB1  
       PROCEDURE (SUB), POINTER::P  
       P=>SUB1  
       CALL P(5,10)  
    END PROGRAM  
     
    SUBROUTINE SUB1 (X,Y)  
           INTEGER ,INTENT(IN)::X  
           INTEGER ,INTENT(IN)::Y  
           PRINT*, "The sum of X and Y is: ", X + Y  
    END SUBROUTINE
    

    Makefile文件:

    all:compilar-main
    	bsub -I  -q q_sw_expr -N 1 ./Main-Output
    
    compilar-main:
    	/usr/sw-mpp/swcc/swgcc530-tools-85/usr/bin/swgcc-5.3.0 -c main.f90 -o main.o
    	/usr/sw-mpp/swcc/swgcc530-tools-85/usr/bin/swgcc-5.3.0 -o Main-Output main.o
    


  • 有可能就是真不支持了.



  • 好的,谢谢段老师~


登录后回复