如何使用gfortran实现编译器联合/映射

如何使用gfortran实现编译器联合/映射,fortran,gfortran,Fortran,Gfortran,我正在尝试将使用ifort编译的代码移植到gfortran。当我将gfortran更新到版本6并使用UNION/MAP编译代码时,出现了一个错误: Unexpected UNION statement at (1). 我怎样才能解决这个问题 union map integer*4 :: ndim_par=0 integer*4 :: ndim_par_actual=0 end map map integer*4 ::

我正在尝试将使用ifort编译的代码移植到gfortran。当我将gfortran更新到版本6并使用UNION/MAP编译代码时,出现了一个错误:

Unexpected UNION statement at (1).
我怎样才能解决这个问题

  union
    map
    integer*4 :: ndim_par=0           
    integer*4 :: ndim_par_actual=0    

  end map
  map
    integer*4 :: mamb          
    integer*4 :: mobs         
  end map
end union

您是否尝试过使用选项
-fdec结构编译?这在您的情况下可能不起作用,或者需要更高版本的gfortran。您还可以看到。您至少需要版本7或更高版本来编译代码。请参阅位于的编译器show:Error:Unexpected UNION语句(1)您是否遵循了@Vladimir关于在此处提问的建议?您试图编译的最低完整示例代码是什么?您最初帖子中的代码是一个不完整的片段!显示的代码是不可编译的。在没有上下文的情况下,很容易相信错误是由出现的
union
语句引起的Fortran程序中的错误位置。Fortran对语句的顺序非常具体;简而言之,所有声明必须在任何可执行语句之前。