REAL*10 not supported

问题描述

编译时出现如下报错。

bnrydds.f:50:15:
 
   50 |         real*10 frb, tt0, tt, orbits
      |               1
Error: Old-style type declaration REAL*10 not supported at (1)
make[1]: *** [Makefile:477: bnrydds.o] Error 1
make[1]: Leaving directory '/Oceanfile/wubingcheng/tempo2/tempo-13.103/src'
make: *** [Makefile:358: all-recursive] Error 1

问题原因

x86服务器的FPU寄存器包括8个80位数据寄存器和3个16位寄存器,在x86上GFortran支持real*10类型,在鲲鹏上GFortran不支持该real的数据长度,因此编译报错。

详情请参考:

https://stackoverflow.com/questions/43810421/error-old-style-type-declaration-real16-not-supported

处理步骤

修改real*10类型为real*8类型。

毕昇flang编译warning不报错,会把real*10当做默认的real*4处理。