AnsweredAssumed Answered

Illegal instruction with 4.5.2

Question asked by ajmay81 on Aug 16, 2012
Latest reply on Aug 27, 2012 by santosh.zanjurne

When testing our code with 4.5.2 the program compiles no problem, but on execution it exits with 'Illegal instruction' error message. The same code works fine with 4.5.1 compiler on the same machine. Here is a cut down of the (Fortran) code (test.f90):

 

MODULE test_mod

INTEGER, PARAMETER :: i=20

END MODULE test_mod

 

PROGRAM test_prog

USE test_mod

IMPLICIT NONE

WRITE(6,*)i

END

 

compiled with simply:

 

openf90 test.f90

 

The program built with 4.5.1 gives the expected '20' when run, whereas with 4.5.2 'Illegal instruction' is given. Writing a hard-coded character string works, so I think the issue is referencing the variable from the module.

 

The compilers are both the SLES 11 rpm versions, i.e.:

 

x86_open64-4.5.1-1.x86_64.rpm

x86_open64-4.5.2-1.x86_64.rpm

 

and both are installed on a 64-bit machine running openSUSE 12.1 (actually I've reproduced this on more than 1 machine). Any advice about how to fix this would be greatly appreciated.

Outcomes