public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/17887] New: g77 generates code that results in segmentation fault
@ 2004-10-08 2:24 bacon at aerodyne dot com
2004-10-08 2:47 ` [Bug fortran/17887] " pinskia at gcc dot gnu dot org
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: bacon at aerodyne dot com @ 2004-10-08 2:24 UTC (permalink / raw)
To: gcc-bugs
The following code, when compiled with g77, produces an
executable that segfaults when run. It was simple enough
to work around, but the problem doesn't occur with the
Intel fortran compiler or the Portland Group fortran
compiler.
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C bug.f
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
PROGRAM MAIN
REAL*4 ANG
ANG = ARCCOS( -1. )
WRITE ( 6, 100 ) ANG
100 FORMAT('ARCCOS(-1) =', F10.4)
STOP
END
REAL FUNCTION ARCCOS(X)
REAL X
IF(X.GT..9999999) X=1.
IF(X.LT.-.9999999) X=-1.
ARCCOS = ACOS(X)
RETURN
END
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C END
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
g77 -v -save-temps -fno-globals -fno-automatic -Wall -g -o bugger bug.f
Driving: g77 -v -save-temps -fno-globals -fno-automatic -Wall -g -o bugger bug.f
-lfrtbegin -lg2c -lm -shared-libgcc
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --disable-libunwind-exceptions --with-system-zlib
--enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/f771 bug.f -quiet -dumpbase bug.f
-auxbase bug -g -Wall -version -fno-globals -fno-automatic -o bug.s
GNU F77 version 3.3.3 20040412 (Red Hat Linux 3.3.3-7) (i386-redhat-linux)
compiled by GNU C version 3.3.3 20040412 (Red Hat Linux 3.3.3-7).
GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63613
as -V -Qy -o bug.o bug.s
GNU assembler version 2.15.90.0.3 (i386-redhat-linux) using BFD version
2.15.90.0.3 20040415
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/collect2 --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2 -o bugger
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../crt1.o
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../crti.o
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/crtbegin.o
-L/usr/lib/gcc-lib/i386-redhat-linux/3.3.3
-L/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../.. bug.o -lfrtbegin -lg2c -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/crtend.o
/usr/lib/gcc-lib/i386-redhat-linux/3.3.3/../../../crtn.o
--
Summary: g77 generates code that results in segmentation fault
Product: gcc
Version: 3.3.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bacon at aerodyne dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i386-redhat-linux
GCC host triplet: i386-redhat-linux
GCC target triplet: i386-redhat-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17887
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/17887] g77 generates code that results in segmentation fault
2004-10-08 2:24 [Bug fortran/17887] New: g77 generates code that results in segmentation fault bacon at aerodyne dot com
@ 2004-10-08 2:47 ` pinskia at gcc dot gnu dot org
2004-10-08 3:10 ` bdavis at gcc dot gnu dot org
2004-10-08 3:15 ` bdavis at gcc dot gnu dot org
2 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-08 2:47 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-08 02:47 -------
The code is invalid, you are passing in a constant to a function and in fortran it is passed by reference
always. So you are trying to change the value of -1.0 which is undefined at runtime, in our case both
g77 and gfortran segfault.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17887
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/17887] g77 generates code that results in segmentation fault
2004-10-08 2:24 [Bug fortran/17887] New: g77 generates code that results in segmentation fault bacon at aerodyne dot com
2004-10-08 2:47 ` [Bug fortran/17887] " pinskia at gcc dot gnu dot org
@ 2004-10-08 3:10 ` bdavis at gcc dot gnu dot org
2004-10-08 3:15 ` bdavis at gcc dot gnu dot org
2 siblings, 0 replies; 6+ messages in thread
From: bdavis at gcc dot gnu dot org @ 2004-10-08 3:10 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bdavis at gcc dot gnu dot org 2004-10-08 03:10 -------
the problem is you are attempting to change the value of a constant.
here is a minimal example:
CALL FOO(10)
END
SUBROUTINE FOO(X)
INTEGER X
X=100
END
gfortran also seg faults with this type of example. i will dig into the standard
and see if this is permitted or not.
--bud davis
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17887
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug fortran/17887] g77 generates code that results in segmentation fault
2004-10-08 2:24 [Bug fortran/17887] New: g77 generates code that results in segmentation fault bacon at aerodyne dot com
2004-10-08 2:47 ` [Bug fortran/17887] " pinskia at gcc dot gnu dot org
2004-10-08 3:10 ` bdavis at gcc dot gnu dot org
@ 2004-10-08 3:15 ` bdavis at gcc dot gnu dot org
2 siblings, 0 replies; 6+ messages in thread
From: bdavis at gcc dot gnu dot org @ 2004-10-08 3:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bdavis at gcc dot gnu dot org 2004-10-08 03:15 -------
IMHO, here is the part of the F77 standard that applies:
15.9.3.2 Variables as Dummy Arguments.
A dummy argument that is a variable may be associated with an actual argument
that is a variable, array element, substring, or expression.
If the actual argument is a variable name, array element name, or substring
name, the associated dummy argument may be defined or redefined within the
subprogram. If the actual argument is a constant, a symbolic name of a constant,
a function reference, an expression involving operators, or an expression
enclosed in parentheses, the associated dummy argument must not be redefined
within the subprogram.
--bud
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17887
^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <bug-17887-4@http.gcc.gnu.org/bugzilla/>]
end of thread, other threads:[~2020-06-11 11:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-08 2:24 [Bug fortran/17887] New: g77 generates code that results in segmentation fault bacon at aerodyne dot com
2004-10-08 2:47 ` [Bug fortran/17887] " pinskia at gcc dot gnu dot org
2004-10-08 3:10 ` bdavis at gcc dot gnu dot org
2004-10-08 3:15 ` bdavis at gcc dot gnu dot org
[not found] <bug-17887-4@http.gcc.gnu.org/bugzilla/>
2020-06-11 10:46 ` macro@linux-mips.org
2020-06-11 11:16 ` macro@linux-mips.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).