From: CRDGW2::CRDGW2::MRGATE::"SMTP::AI.MIT.EDU::GNULISTS" 28-FEB-1991 05:50:55.95 To: ARISIA::EVERHART CC: Subj: Summary of g++-1.39.0 bugs, fixes and workarounds (my list) From: gnulists@ai.mit.edu@SMTP@CRDGW2 To: Everhart@Arisia@MRGATE Received: by crdgw1.ge.com (5.57/GE 1.87) id AA26293; Thu, 28 Feb 91 05:38:32 EST Received: by life.ai.mit.edu (4.1/AI-4.10) id AA20001; Thu, 28 Feb 91 02:41:08 EST Return-Path: Received: from wheat-chex (wheat-chex.ai.mit.edu) by life.ai.mit.edu (4.1/AI-4.10) id AA19959; Thu, 28 Feb 91 02:39:36 EST Received: by wheat-chex (4.1/AI-4.10) id AA00723; Thu, 28 Feb 91 02:39:39 EST Resent-Date: 27 Feb 91 11:17:57 GMT Resent-From: gnulists@ai.mit.edu Resent-Message-Id: <9102280739.AA00723@wheat-chex> Received: from tut.cis.ohio-state.edu by life.ai.mit.edu (4.1/AI-4.10) id AA05017; Wed, 27 Feb 91 16:43:23 EST Received: by tut.cis.ohio-state.edu (5.61-kk/5.910130) id AA05651; Wed, 27 Feb 91 16:42:33 -0500 Received: from USENET by tut.cis.ohio-state.edu with netnews for help-g++@prep.ai.mit.edu (help-g++@prep.ai.mit.edu) (contact usenet@tut.cis.ohio-state.edu if you have questions) Date: 27 Feb 91 11:17:57 GMT From: mcsun!corton!inria!axis-design!axis-design!loic@uunet.uu.net (Loic Dachary) Sender: gnulists@ai.mit.edu Organization: GNA c/o Axis Design 119 rue de Flandre, 75019 Paris, France Subject: Summary of g++-1.39.0 bugs, fixes and workarounds (my list) Message-Id: To: help-g++@prep.ai.mit.edu This article is a summary of the information I have about g++ bugs, fixes and workarounds. It is certainly incomplete but may be usefull. Each line correspond to a file containing a full description of the bug. These files are not included in this article. However, I will mail a shar file containing all the files if asked to. Hope it helps, Loic # # Three fields separated with ':' # # 1) serial number # 2) describe the class of the bug # bug : does not prevent any source code to compile properly # big bug : some sources cannot be compiled # fix : there exists a fix # fix sysV: there exists a fix for system V users # workaround : there exists a workaround # merged : after all this bug was similar to another one # 3) short description of the bug # # g++ is g++-1.39.0 # 1: workaround: local function declarations not understood 2: bug: a derived class can be assigned to a private base class 3: fix: a const class object cannot initialize another object of the same class if this imply user defined conversion 4: fix sysV: #pragama interface prevent emission of vtables 5: workaround: Substring class (libg++-1.37.2) implementation make this call cout << String("abcde\n").before("\n"); generate invalid output. 6: big bug: struct argument to switch make g++ dumps core 7: merged: with 22 8: workaround: cout cannot be used in constructor 9: big bug: g++ dump core 10: merged: with 1 11: fix: incorrect error messages make g++ dump core (applied to g++-1.39.0) 12: big bug: multiple inheritance and virtual functions in virtual base classes 13: big bug: global reference to int make g++ dumps core 14: big bug: generated code seems wrong. execution dumps core. temporary permaturely disapear. 15: fix: (not applied because not fully understood and for 1.37.2) 16: workaround const in argument when argument is matched thru elipsises (...) 17: bug: type error in argument not reported 18: workaround: g++ incorectly complains when static const struct in a class is not initialized 19: bug: width of `mantissa' exceeds its type warning is followed by a core of g++ 20: big bug: in enum local to a class enum { a, b = a + 2 }; is not legal according to g++ 21: big bug: g++ complains that typedef enum { x, y, z } myenum; hides previous declaration 22: big bug: enum member local to a class cannot be qualified outside the class 23: big bug: void* foo(){ operator new(sizeof(int)); } not legal -- Loic Dachary loic@axis-design.fr or floic@afp.uucp Voice +33 1 40 35 20 20