From: "Sven A. Havemann" Message-Id: <9603111250.ZM914@Neptun.informatik.uni-bonn.de> Date: Mon, 11 Mar 1996 12:50:28 +0100 To: djgpp AT delorie DOT com Subject: DJGPP V2 2.7.2 not gcc 2.7.2 ? Cc: bug-g++@prep.ai.mit.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 t_IteratorRb; template class t_ListRb { public: typedef t_IteratorRb RbIter; typedef t_ListRb RbList; t_ListRb () ; t_ListRb (const t_ListRb& 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 t_ListRbIO : public t_ListRb, public t_BaseIO { public: typedef t_IteratorRb RbIter; typedef t_ListRb RbList; t_ListRbIO () ; t_ListRbIO (const t_ListRbIO& other) ; virtual ~t_ListRbIO () ; virtual istream& in (istream& is) ; virtual ostream& out (ostream& os) const ; }; // ********************************************** // ** TEMPLATE T_ITERATORRB - HEADER // ********************************************** template class t_IteratorRb { public: typedef t_IteratorRb RbIter; typedef t_ListRb 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; 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 -------------------------------------------------------------------------------