Community
cancel
Showing results for 
Search instead for 
Did you mean: 
vzecca
Beginner
282 Views

ifort ICE

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
New Contributor II
248 Views

*20 is not valid Fortran. Remove the *

mecej4
Black Belt
243 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.

vzecca
Beginner
235 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.

andrew_4619
Honored Contributor I
222 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