Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
公告
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

ifort ICE

vzecca
初学者
1,932 次查看

Compiling the  following code

c ifort ICE
interface random_seed
subroutine x (a, *)
end subroutine x
end interface random_seed
call random_seed(i, *20)
20 continue
end

I get:

uname -a
Linux nero32 5.6.19-300.fc32.x86_64 #1 SMP Wed Jun 17 16:10:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

ifort -S -V ierr231.f
Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 19.1.2.275 Build 20200623
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.

ifort: NOTE: The evaluation period for this product ends on 30-sep-2020 UTC.
Intel(R) Fortran 19.1-1648
ierr231.f(6): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
call random_seed(i, *20)
^
[ Aborting due to internal error. ]
compilation aborted for ierr231.f (code 1)

标签 (1)
0 项奖励
4 回复数
Andrew_Smith
重要分销商 I
1,898 次查看

*20 is not valid Fortran. Remove the *

0 项奖励
mecej4
名誉分销商 III
1,893 次查看

Andrew_Smith wrote "*20 is not valid Fortran. Remove the *".

Not so fast! The code uses an obsolescent feature, the "alternate return". The CALL statement does not match the provided interface, since the first argument in the call is of type integer , whereas the corresponding dummy argument is of type real (unless there are outer-scope declarations that we have not been shown). The name "random_seed" is the same as that of an intrinsic.

These points, however, do not matter since the compiler ran into an ICE instead of giving diagnostic messages.

0 项奖励
vzecca
初学者
1,885 次查看

Andrew, "*20" is still valid Fortran, although obsolescent.

There are tons of dusty decks around containing this form of alternate return.

Please check your manuals before posting.

0 项奖励
andrew_4619
名誉分销商 III
1,872 次查看

LOL! The Alt return was obsolescent in Fortran 90 so only 30 years ago.... If the deck is that dusty maybe leave the box in the basement because it will have no end of other cludge in it. The ICE is a compiler error so file a support ticket and maybe it will get fixed at some point. 

回复