Thread View: gnu.g++.lib.bug
1 messages
1 total messages
Started by Ken Raeburn
Thu, 09 Nov 1989 01:40
oops
Author: Ken Raeburn
Date: Thu, 09 Nov 1989 01:40
Date: Thu, 09 Nov 1989 01:40
177 lines
6109 bytes
6109 bytes
------- Forwarded Message
Date: Wed, 8 Nov 89 20:24:55 EST
From: MAILER-DAEMON@MIT.EDU (Mail Delivery Subsystem)
Subject: Returned mail: User unknown
To: <raeburn@MIT.EDU>
----- Transcript of session follows -----
>>> RCPT To:<bug-libg++@PREP.AI.MIT.EDU>
<<< 550 <bug-libg++@PREP.AI.MIT.EDU>... User unknown
550 <bug-libg++@prep.ai.mit.edu>... User unknown
----- Unsent message follows -----
Received: from PROMETHEUS.MIT.EDU by MIT.EDU with SMTP
id AA12832; Wed, 8 Nov 89 20:24:55 EST
Received: by prometheus.MIT.EDU (5.61/4.7) id AA29341; Wed, 8 Nov 89 20:25:25 -0500
Date: Wed, 8 Nov 89 20:25:25 -0500
Message-Id: <8911090125.AA29341@prometheus.MIT.EDU>
From: Ken Raeburn <Raeburn@MIT.EDU>
To: bug-libg++@PREP.AI.MIT.EDU, bug-g++@PREP.AI.MIT.EDU
Subject: problems with g++ and libg++ on dec-3100
Configuration: dec-3100; g++ version 1.36.1; gcc version 1.36.
test.hello.cc doesn't compile on the pmax; there is no `struct exec'
in <a.out.h> that gets compiled in.
>g++ -I/var/raeburn/libg++/g++-include -O -fstrength-reduce -felide-constructors -fschedule-insns -fdelayed-branch -fsave-memoized -Wall -c tPlex.cc
>tPlex.cc: In function void MPtest ():
>tPlex.cc:535: The following insn was not recognizable:
>(insn/i 117 116 118 (set (reg:SI 93)
> (neg:SI (mem/s:SI (plus:SI (reg:SI 87)
> (const_int 4))))) -1 (nil)
> (nil))
>g++: Program cc1plus got fatal signal 4.
(Obvious...) A stripped-down version of the preprocessed source,
which still causes the problem, is included below. (Compiler options
used were: -O -fstrength-reduce -felide-constructors -fschedule-insns
-fdelayed-branch -fsave-memoized -Wall -S -v. Removing -O eliminates
the problem.)
>dhrystone.cc: In function void _GLOBAL_$D$dhrystone_cc ():
>dhrystone.cc:691: warning: array size expression for delete ignored
This should probably say something about destructor functions (if
anything at all), rather than expecting the user to know what
"_GLOBAL_$D$foo" means.
>g++ -g -Wall -DGATHER_STATISTICS -O -fdelayed-branch -fsave-memoized -finline-functions -fstrength-reduce -felide-constructors -c version.cc
>g++: This port of GCC does not support -g flag9@
gperf does not pass GXXFLAGS &c into subdirectories, so it failed
completely on my system. (It assumed it could use -g.)
The "%e" construct in the compiler specification appears to have some
problems; sometimes a couple of garbage characters are printed after
the word "flag"; it's usually "8@" or "9@".
-- Ken
P.S. The makefiles for libg++ shouldn't install it in the `all' rule
before preparing the tests. Better to test the library before
installing it, just in case....
~~~~~~~~~~~~~~~~ foo.cc
typedef void* Pix;
extern unsigned int hash(int );
class intIChunk
{
protected:
int* data;
int base;
int low;
int fence;
int top;
intIChunk* nxt;
intIChunk* prv;
public:
intIChunk(int* d,
int base_idx,
int low_idx,
int fence_idx,
int top_idx);
virtual int valid_index(int i);
};
class intPlex
{
protected:
intIChunk* hd;
int lo;
int fnc;
int csize;
int mods;
void record_change();
void invalidate();
void del_chunk(intIChunk*);
intIChunk* tl();
int one_chunk();
public:
intPlex();
};
class intMChunk : public intIChunk
{
protected:
unsigned long* map;
int valid(int);
public:
intMChunk(int* d,
int base_idx,
int low_idx,
int fence_idx,
int top_idx);
int valid_index(int i);
};
class intMPlex: public intPlex
{
intMChunk* ch;
int unused;
void make_initial_chunks(int up = 1);
void cache(int idx);
void cache(const int* p);
int dopred(int);
int dosucc(int);
public:
intMPlex();
intMPlex(int ch_size);
intMPlex(int lo,
int ch_size);
intMPlex(int lo,
int hi,
const int initval,
int ch_size = 0);
intMPlex( intMPlex&);
void operator= ( intMPlex&);
int valid(int idx);
void prev(int& idx);
void next(int& x);
int& operator [] (int index);
};
inline int intMChunk::valid(int idx)
{
unsigned int i = idx - base;
return map[i / 32 ] & (1 << (i & ( 32 - 1)));
}
inline int intMChunk:: valid_index(int i)
{
return (i >= low
&& i < fence
&& valid(i));
}
static int foo = 17;
inline int& intMPlex:: operator [] (int idx)
{
(void) (ch->intMChunk::valid_index(idx));
return foo;
}
extern Pix px;
static intMPlex p(3);
void MPtest ()
{
px = &p[0];
}
~~~~~~~~~~~~~~~~ end of foo.cc
------- End Forwarded Message
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