[gnu.gcc.bug] cc1 dumps core on illegal floating point constants

mea@MEA.UTU.FI (Matti Aarnio) (11/15/89)

Dear Sirs,

	My environment is  Interactive Systems Corp. IX/386, which is
quite closely System V r 3.2, but includes BSD (4.2) TCP/IP, NFS, and
X-Windows.

	Below is an minimal test program that caused gcc 1.36 to dump
core.  Stack trace: (arguments missing from COFF outputs. )
---------------------
kill: address 0x6955c
kill() has no subroutine linkage (pushl)
	Maybe kill(0x3592,6) from abort()   [abort.c] <-- My guess
	Maybe kill() from yyparse()   [c-parse.tab.c:213]
abort()   [abort.c]
float_signal(8)   [toplev.c:847]
output_constant()   [varasm.c:1764]
get_or_assign_label()   [varasm.c:1226]
output_constant_def(exp=0x40bb24)   [varasm.c:1262]
expand_expr()   [expr.c:2251]
store_expr()   [expr.c:1823]
expand_assignment()   [expr.c:1767]
expand_decl_init(decl=0x40ba3c)   [stmt.c:2094]
finish_decl(decl=0x40ba3c,init=0x40baf0,asmspec_tree=0)   [c-decl.c:1976]
yyparse()   [c-parse.tab.c:635]
compile_file(name=/usr/tmp/cca13712.cpp)   [toplev.c:1118]
main(argc=8,argv=0x7ffffdbc,envp=0x7ffffde0)   [toplev.c:1991]
---------------------


cc -c test.c	# AT&T compiler

  "test.c", line 3: floating point constant folding causes exception

gcc -c -v test.c # gcc 1.36 created with:  make i386-sysv.  No robotussin.

  gcc version 1.36
   /usr/local/lib/gcc-cpp -v -undef -D__GNUC__ -Dunix -Di386 -D__unix__ -D__i386__ test.c /usr/tmp/cca13712.cpp
  GNU CPP version 1.36
   /usr/local/lib/gcc-cc1 /usr/tmp/cca13712.cpp -quiet -dumpbase test.c -version -o /usr/tmp/cca13712.s
  GNU C version 1.36 (80386, ATT syntax) compiled by GNU C version 1.36.
  default target switches: -m80387
  gcc: Program cc1 got fatal signal 6.

cat test.c

  main()
  {
   float z_max = -1e100;
  }


I know this is bad C, but 'fatal signal 6' isn't too helpfull...
Actually this kind of code was inside  graph3d package. (comp.sources.unix,
or comp.sources.misc  distribution quite recently.)

	/Matti Aarnio <mea@mea.utu.fi>

PS:	I don't yet have news input on my machine, please tell me directly
	what you did for it.