Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

ifort ICE

vzecca
Beginner
1,093 Views

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)

Labels (1)
0 Kudos
4 Replies
Andrew_Smith
Valued Contributor I
1,059 Views

*20 is not valid Fortran. Remove the *

0 Kudos
mecej4
Honored Contributor III
1,054 Views

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 Kudos
vzecca
Beginner
1,046 Views

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 Kudos
andrew_4619
Honored Contributor II
1,033 Views

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. 

Reply