[Bug fortran/42267] New: interaction between -finit-local-zero and -fno-automatic
bdavis at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Dec 3 19:14:00 GMT 2009
when using both flags, the variables are initialized on every function call.
see the example below:
bash-3.2$ cat lvar.f
REAL A(100)
PRINT*,'Expect them to be zero'
CALL ONE
PRINT*,'Expect them to be 1..10'
CALL TWO
PRINT*,'Expect them to be 1..10'
CALL ONE
END
SUBROUTINE ONE
REAL A(100)
INTEGER I
PRINT*,"Sub One Loc(a) is ",LOC(A)
DO I=1,10
PRINT*,A(I)
A(I) = I
END DO
END
SUBROUTINE TWO
REAL A(100)
INTEGER I
PRINT*,"Sub Two Loc(a) is ",LOC(A)
DO I = 1,10
A(I) = 0
END DO
END
bash-3.2$ /usr/local/bin/gfortran -static lvar.f -finit-local-zero
-fno-automatic
bash-3.2$ /usr/local/bin/gfortran --version
GNU Fortran (GCC) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
bash-3.2$ ./a.out
Expect them to be zero
Sub One Loc(a) is 135144832
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
Expect them to be 1..10
Sub Two Loc(a) is 135144416
Expect them to be 1..10
Sub One Loc(a) is 135144832
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
--
Summary: interaction between -finit-local-zero and -fno-automatic
Product: gcc
Version: 4.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bdavis at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42267
More information about the Gcc-bugs
mailing list