This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/22304] New: gfortran silently changes values in equilvanence'd variables
- From: "albertm at uphs dot upenn dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Jul 2005 05:07:27 -0000
- Subject: [Bug fortran/22304] New: gfortran silently changes values in equilvanence'd variables
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
gfortran(gcc-4.0.0) silently changes the value of variables in equivalence
statements. The following code prints the value "0" and not "1":
implicit none
integer O
DIMENSION O(300000)
COMMON /IBM/O
integer b,e,r,s,v,u,w,x,c
EQUIVALENCE(O(1),B),(O(2),E),(O(3),R),(O(4),S),(O(5),V),(O(6),U),
*(O(7),W),(O(8),X),(C,O(12))
O(9)=1
CALL MYSUB
END
subroutine MYSUB
implicit none
integer O
DIMENSION O(300000)
COMMON /IBM/O
integer b,e,r,s,v,u,w,x,c
EQUIVALENCE(O(1),B),(O(2),E),(O(3),R),(O(4),S),(O(5),V),(O(6),U),
*(O(7),W),(O(8),X),(C,O(12))
WRITE(6,*) "IN MYSUB: O(9)= ", O(9)
RETURN
END
As always, thank you. You folks do excellent work.
Sincerely,
Mike Albert
--
Summary: gfortran silently changes values in equilvanence'd
variables
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: critical
Priority: P1
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: albertm at uphs dot upenn dot edu
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: x86_64-unknown-linux-gnu (AMD)
GCC host triplet: x86_64-unknown-linux-gnu (AMD)
GCC target triplet: x86_64-unknown-linux-gnu (AMD)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22304