[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::fortran

Title:Digital Fortran
Notice:Read notes 1.* for important information
Moderator:QUARK::LIONEL
Created:Thu Jun 01 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1333
Total number of notes:6734

1196.0. "DFAV F77/F90 %F90-F-FATAL ACCVIO w OPTIMIZE=LEVEL=5" by CSC32::D_SANFORD () Tue Feb 25 1997 14:07

    Digital Fortran 90 V7.0-20, OpenVMS Alpha V6.2
    Digital Fortran 77 V7.0-6,  OpenVMS Alpha V6.2

    Both Fortran 77 and Fortran 90 compilers fail when used with /OPTIMIZE=
    LEVEL:5 when used with the following example:

	SUBROUTINE RUD (DR)

	DIMENSION AL(200), ALBSV(200), B(200), Z(200)

	DO I = 1, 20
	   ALDOT = ALBSV(I)
	   ALBSV(I) = AL(I)
	END DO

	END

    F90 fails with:

$ F90/OPTIMIZE=LEVEL=5 TEST

        END
........^
%F90-F-FATAL, **Internal compiler error: specification exception signal raised**
 Please report this error along with the circumstances in which it occurred in a
 Software Problem Report.  Note: File and line given may not be explicit cause
 of this error.
at line number 10 in file XWINGS$DKA100:[D_SANFORD]TEST.FOR;1

    F77 fails with:

$ FORTRAN/OPTIMIZE=LEVEL=5 TEST
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=00000000,
 PC=00340B70, PS=0000001B

  Improperly handled condition, image exit forced.
    Signal arguments:   Number = 00000005
                        Name   = 0000000C
                                 00000000
                                 00000000
                                 00340B70
                                 0000001B

    Register dump:
    R0  = 0000000000000000  R1  = 0000000002AD00A1  R2  = 000000000003AF60
    R3  = 0000000000532B28  R4  = 00000000005310D8  R5  = 00000000005342C0
    R6  = 0000000000516480  R7  = 0000000000000000  R8  = 0000000000000000
    R9  = 0000000000562878  R10 = 00000000005627C8  R11 = 0000000000000005
    R12 = 000000000055A014  R13 = 0000000000000001  R14 = 0000000000000001
    R15 = 0000000000000087  R16 = 00000000005310D8  R17 = 0000000000532B28
    R18 = 0000000000000000  R19 = 0000000000562878  R20 = 0000000000000000
    R21 = 0000000000000000  R22 = 0000000000562878  R23 = 0000000000535850
    R24 = 0000000000040537  R25 = 0000000000000003  R26 = 0000000000341680
    R27 = 000000000003AF30  R28 = 0000000000532928  R29 = 000000007EDCF330
    SP  = 000000007EDCF320  PC  = 0000000000340B70  PS  = 200000000000001B

  Regards, Drew Sanford
  Language Support Team

  Original code customer sent follows:

	SUBROUTINE RUD (DR)

	COMMON /RTEST/ ROLLTEST
	DIMENSION AL(200), ALBSV(200), B(200), Z(200)

	ROLLCO = 15690.
	BRUDB = 11.3
	N1B = 20

	ROLLTEST = 0.0
	DO I = 1, N1B
	   ALDOT = (AL(I) - ALBSV(I)) / .125
	   ALBSV(I) = AL(I)

C Compiler crashes if this statement is placed here.
	   IF(I .GT. 1) ROLLTEST = ROLLCO*ALDOT*(BRUDB)/2.
C Compiles ok if here
CXCXCX	   ALBSV(I) = AL(I)
	END DO

C	WRITE(*,*) I, AL(I), ALBSV(I), ALDOT
	STOP
	END
T.RTitleUserPersonal
Name
DateLines
1196.1CSC32::D_SANFORDTue Feb 25 1997 14:091
    This same application compiles with Fortran 77 V6.3-711 and earlier.
1196.2FixedTLE::EKLUNDAlways smiling on the inside!Thu Feb 27 1997 11:485
    	This is fixed in the V7.1 compilers, now available.
    
    Cheers!
    Dave Eklund