This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
3 C++ Compiler bugs in egcs-1.1.2
- To: <egcs-bugs at egcs dot cygnus dot com>
- Subject: 3 C++ Compiler bugs in egcs-1.1.2
- From: "Jeff Greif" <jmg at trivida dot com>
- Date: Wed, 21 Jul 1999 10:07:16 -0700
- Cc: "Michael Lo" <mlo at trivida dot com>,"Lew Roth" <ldr at trivida dot com>,"John Jensen" <jensen at trivida dot com>,"Jeff Greif" <jmg at trivida dot com>,"Gary Zimmerman" <gmz at trivida dot com>,"Cormac Twomey" <cormac at trivida dot com>,"Bradley P. Allen" <bpa at trivida dot com>,"Igor Turovsky" <it at trivida dot com>
The attached .gz file contains a source .cpp file and intermediate (.ii and
.s) files illustrating 3 bugs in egcs-1.1.2 on Solaris 2.6. The source file
contains instructions for reproducing the bugs, and all the compiler
settings etc, in a massive comment at the top. Only standard include files
from the egcs distribution are required.
I'm sorry the source file is long, but it is stripped down by 1-2 orders of
magnitude from the original sources. The code is laden with interacting
templates.
The three bugs are:
1. An error message about a missing destructor which refers to it as
foo::__dt. This is mysterious unless you grep the gcc source.
2. A (probable name mangling) problem which causes destructors for
different classes to clash in the generated assembly code.
3. A similar name mangling problem which produces a mangled method name
which demangles to an impossible method name and signature (the class is
wrong). This also causes clashes in the generated assembly code.
Note that you cannot see bug #2 unless you remove bug #1 (instructions in
the source file).
I have worked around bugs #1 and #2 so far. I would *really* appreciate it
if someone can tell me an option I've missed to generate arbitrarily long
mangled symbol names, or at least longer names than the default, so I can
get rid of the clash in bug #3. Thanks much.
Jeff Greif
TriVida Corp.
3524 Hayden Ave.
Culver City, CA 90232
310-736-3700
jmg@trivida.com
egcs-bug1.tar.gz