Mail Archives: djgpp/1996/03/11/07:04:26
Dear DJGPP makers!
==================
First of all I'd like to tell you how positively surprised I was when I got
V2.0 yesterday, I've been using DJGPP since quite a while... The installation
procedure was really easy and cool, including CWSDPMI and everything, and be
assured that you've done a great work with your readmes and faq in info, and
you should'nt take complaints about 'I can't find my includes' or so too
seriously. - It's well done.
So much for the positive surprise, I was also disappointed about the gcc 2.7.2
compatibility. - I've got gcc272b.zip from Feb 22 and gpp272b.zip from Feb 5
from ftp://ftp.uni-koeln.de/pc/djgpp/v2gnu which are the most recent versions,
AFAIK, and recompiling my library which worked well under gcc 2.6.3 I
encountered an internal compiler error which didn't occur under the 'real' gcc
2.7.2, the one we use on Sun/Sparc here.
Any remarks? The abort happened in quite an innocent line, I've included the
header below, it's just a bit tricky, so I didn'd include the whole thing, but
just to let You estimate whether it's because of a DJGPP/UNIX difference or
it's because DJGPP 2.7.2 contains partly the 2.7.0 version which was famous for
this kind of funny failure... - I also have some other innocent looking lines
where the poor thing aborts all of a sudden... No idea what they have in
common.
Any reply is appreciated, Your's, Sven.
=========================================================================
gcc -c -o obj/t_var.o ./src/database/t_var.cc -fno-implicit-templates
-DDOS_GNU270 -DNO_TEMPLATE_STATIC -DNO_IMPLICIT_TEMPLATES -I./include
-I/compiler/cgi/include -I/compiler/cgi/src/common -I/compiler/pccts/h
In file included from ./src/database/t_var.cc:15:
include/t_lstrbt.hh:119: Internal compiler error.
include/t_lstrbt.hh:119: Please submit a full bug report to
`bug-g++@prep.ai.mit.edu'.
make.exe: *** [obj/t_var.o] Error 1
Look for this mark in the header below: <<====== line 119 !
// **********************************************
// ** t_lstrbt.hh - HEADER
// **********************************************
// ** TEMPLATE FOR DYNAMIC LISTS BASED ON RED-BLACK-TREES
// **********************************************
//
// Written by Sven Havemann, Bonn, august 1995
// For copyright and legal information see file legal.doc
//
#ifndef T_LSTRBT_HH
#define T_LSTRBT_HH
#include "t_base.hh"
#include "t_rbnode.hh"
#include "t_rbfind.hh"
#include "t_rbtree.hh"
// **********************************************
// ** TEMPLATE T_TLISTRB - HEADER
// **********************************************
template<class Key, class Content, class Node, class KeyEqual, class
KeySmaller>
class t_IteratorRb;
template<class Key, class Content, class Node, class KeyEqual, class
KeySmaller>
class t_ListRb
{
public:
typedef t_IteratorRb<Key,Content,Node,KeyEqual,KeySmaller> RbIter;
typedef t_ListRb<Key,Content,Node,KeyEqual,KeySmaller> RbList;
t_ListRb () ;
t_ListRb (const t_ListRb<Key,Content,Node,KeyEqual,KeySmaller>& other) ;
~t_ListRb () ;
RbIter ins (const Key& key, const Content& c) ; // ins if not there
RbIter operator() (const Key& key, const Content& c) ; // ins or change
RbList& del (const RbIter& i) ;
Content operator-= (const RbIter& i) ;
RbList& backspace (const RbIter& i) ;
RbList& erase () ;
Content& operator[] (const Key& key) const ;
RbIter find (const Key& key) const ;
RbIter findOrPred (const Key& key) const ;
RbIter findOrSucc (const Key& key) const ;
RbIter begin() const ;
RbIter operator* () const;
RbIter end() const ;
RbIter null() const ;
RbIter root() const ;
RbList& operator =(const RbList& other) ;
t_Bool operator == (const RbList& other) const ;
t_Bool operator != (const RbList& other) const ;
long size () const ;
t_Bool isEmpty () const ;
t_Bool dump(ostream& os=cout) const ;
protected:
t_RbTree tree;
};
// **********************************************
// ** TEMPLATE T_LISTRBIO - HEADER
// **********************************************
template<class Key, class Content, class Node, class KeyEqual, class
KeySmaller>
class t_ListRbIO
: public t_ListRb<Key,Content,Node,KeyEqual,KeySmaller>, public t_BaseIO
{
public:
typedef t_IteratorRb<Key,Content,Node,KeyEqual,KeySmaller> RbIter;
typedef t_ListRb<Key,Content,Node,KeyEqual,KeySmaller> RbList;
t_ListRbIO () ;
t_ListRbIO (const t_ListRbIO<Key,Content,Node,KeyEqual,KeySmaller>& other)
;
virtual
~t_ListRbIO () ;
virtual
istream& in (istream& is) ;
virtual
ostream& out (ostream& os) const ;
};
// **********************************************
// ** TEMPLATE T_ITERATORRB - HEADER
// **********************************************
template<class Key, class Content, class Node, class KeyEqual, class
KeySmaller>
class t_IteratorRb
{
public:
typedef t_IteratorRb<Key,Content,Node,KeyEqual,KeySmaller> RbIter;
typedef t_ListRb<Key,Content,Node,KeyEqual,KeySmaller> RbList;
t_IteratorRb () ;
t_IteratorRb (const RbIter& other) ;
~t_IteratorRb () ;
const Key& key () const ;
Content& operator* () const ;
Content& operator[] (const Key& key) ;
RbIter& operator = (const RbIter& i) ;
t_Bool operator == (const RbIter& i) const ; <<====== line 119 !!
t_Bool operator != (const RbIter& i) const ;
RbIter& operator ++ () ; // prefix ++a
RbIter operator ++ (int d) ; // postfix a++
RbIter& operator -- () ; // prefix --a
RbIter operator -- (int d) ; // postfix a--
RbIter& operator += (int offset) ;
RbIter& operator -= (int offset) ;
RbIter operator + (int offset) const ;
RbIter operator - (int offset) const ;
long operator - (const RbIter& i) const ;
long index () const;
operator t_Bool () const ;
t_Bool ofSameList (const RbIter& i) const ;
t_Bool isAtBegin () const ;
t_Bool isAtEnd () const ;
t_Bool isNull () const ;
t_Bool isRoot () const ;
private:
friend class t_ListRb<Key,Content,Node,KeyEqual,KeySmaller>;
t_IteratorRb (const t_RbTree& aTree, t_RbNode* aNode);
const t_RbTree* tree;
Node* node;
};
#include "t_lstrbt.icc"
#endif
--
-------------------------------------------------------------------------------
Sven A. Havemann - Rosental 24 - 53111 Bonn - Deutschland - 0049/228/656860
Keywords: Polynomial Curves & Surfaces, Generative Modeling, 4D Animation
FG Computergraphik:
Institut f. Informatik III, Tel: (0228) 550-391
Universitaet Bonn Fax: (0228) 550-382
Roemerstr. 164, Email: havemann AT graphics DOT cs DOT uni-bonn DOT de
D-53117 Bonn, Deutschland oder sven_havemann AT su DOT maus DOT de
-------------------------------------------------------------------------------
- Raw text -