🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by bothner Tue, 22 Aug 1989 08:42
(none)
#366
Author: bothner
Date: Tue, 22 Aug 1989 08:42
42 lines
2198 bytes
Subject: cc1plus 1.36.0- crashes for sony_news
Date: Mon, 21 Aug 89 20:50:38 -0700
From: bothner@wsl.dec.com

First, the config.g++ for entries for the Sony News are wrong.
I tried the following, which *seemed* to work:
        news800|news)
                configuration_file=xm-m68k.h
                target_machine=tm-news.h
                cpu_type=m68k
                ;;
        news-gas | news-g)
                configuration_file=xm-m68k.h
                target_machine=tm-newsgas.h
                cpu_type=m68k
                ;;

I then found that cc1plus crashes on most files in libg++.
E.g. I run the preprocessor on stream.cc to get stream.cpp, and then:
/usr/local/lib/gcc-cc1plus stream.cpp -quiet -dumpbase stream.cc -fstrength-reduce -fsave-memoized -opt -version -o stream.s
GNU C++ version 1.36.0- (68k, Motorola syntax) compiled by GNU C version 1.35.96.
default target switches: -m68020 -mc68020 -m68881 -mbitfield
I get a Floating point exception in
layout_record (rec=(tree) 0x1c04cc) (stor-layout.c line 758)
754       if (var_size == 0)
755         TYPE_SIZE (rec)
756           = build_int (CEIL (CEIL (const_size, record_align) * record_align,
757                              size_unit));
758       else
The reason is that CEIL is trying to divide by record_align, which is 0.
On entry to layout_record, record_align was set to 8 by:
605       int record_align = MAX (BITS_PER_UNIT, TYPE_ALIGN (rec));
It was then set to 0 in line 621:
618       if (CLASSTYPE_N_BASECLASSES (rec))
619         {
620           const_size = TREE_INT_CST_LOW (CLASSTYPE_SIZE (rec));
621           record_align = CLASSTYPE_ALIGN (rec);
622         }
Btw, there seem to be no fields in this class, since the
loop starting at line 624 is skipped.
	--Per Bothner
bothner@wsl.dec.com   ...!decwrl!bothner
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads