EGCS 1.1b template bug

Lassi A. Tuura
Mon Nov 2 10:02:00 GMT 1998


There is one clear bug (compiler error) and one I-think-it-is-a-bug-in-
EGCS-template-handling.  The errors are as shown below, from a command
like this: 

c++ -v -pipe -ansi -pedantic -W -Wall -Wwrite-strings -Wpointer-arith \
    -Wnested-externs -Woverloaded-virtual -Wbad-function-cast \
    -fnonnull-objects -g -c /tmp/ATLASModelCreator.i

`ATLASModelCreator.i' can be found in

(Let me know when you have copied it so I can remove it.  If you have
trouble with that location, try using `', otherwise same
URL.  At least `wget' succeeds with a couple of retries; I don't know
what is wrong with the web server right now, usually loading files like
this works just fine.  If you fail completely, let me know where to mail
the file.) 

As for the bugs, RGCNode.h:1080 is the internal compiler error.  Errors
about RGCNode.h:1344 are, I believe, bugs in the EGCS interpretation of
templates -- the operator in question is declared in the class (see line
17635 in the .i file). The other warnings about virtual destructors are
irrelevant to the case at hand (they are correct but as intended for
these particular classes :-).

With sufficient thrust, pigs fly just fine.  However, this is not
necessarily a good idea.  It is hard to be sure where they are going
to land, and it could be dangerous sitting under them as they fly
overhead.  --RFC1925, "The Twelve Networking Truths"
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.57/specs
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.57/cc1plus /tmp/ATLASModelCreator.i -quiet -g -W -Wall -Wwrite-strings -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -pedantic -ansi -version -fnonnull-objects -o - |
 as -V -Qy -o ATLASModelCreator.o -
GNU C++ version egcs-2.91.57 19980901 (egcs-1.1 release) (i686-pc-linux-gnu) compiled by GNU C version egcs-2.91.57 19980901 (egcs-1.1 release).
GNU assembler version 2.9.1 (i686-pc-linux-gnu), using BFD version
In file included from /afs/,
                 from /afs/,
                 from /afs/
/afs/ warning: `class AssociationInterface' has virtual functions but non-virtual destructor
/afs/ common_type called with uncommon member types (compiler error)
/afs/ no `AssocEnd<Manager>::operator Ref<typename Manager::target>() const' member function declared in class `AssocEnd<Manager>'
/afs/ In method `AssocEnd<Manager>::operator Ref<typename Manager::target>() const':
/afs/ template definition of non-template `AssocEnd<Manager>::operator Ref<typename Manager::target>() const'
/afs/ At top level:
/afs/ In instantiation of `Association<DataTree,DataTree>':
/afs/   instantiated from here
In file included from /afs/,
                 from /afs/
/afs/ warning: `class Association<DataTree,DataTree>' has virtual functions but non-virtual destructor
/afs/ In instantiation of `MultiAssociation<DataTree,DataTree>':
/afs/   instantiated from here
/afs/ warning: `class MultiAssociation<DataTree,DataTree>' has virtual functions but non-virtual destructor

More information about the Gcc-bugs mailing list