[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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.R | Title | User | Personal Name | Date | Lines |
---|
1196.1 | | CSC32::D_SANFORD | | Tue Feb 25 1997 14:09 | 1 |
| This same application compiles with Fortran 77 V6.3-711 and earlier.
|
1196.2 | Fixed | TLE::EKLUND | Always smiling on the inside! | Thu Feb 27 1997 11:48 | 5 |
| This is fixed in the V7.1 compilers, now available.
Cheers!
Dave Eklund
|