g++.law/operators24.C and --enable-checking=gcac

Mark Mitchell mark@codesourcery.com
Tue Jun 6 10:27:00 GMT 2000


The fix is that pushdecl should not be trying to merge things that
have the same DECL_ASSEMBLER_NAME, but different DECL_NAMEs.  That's
weird.  The `__builtin_new' that the user declares there should have
nothing to do with `::operator new'.  Of course, a user who defines
__builtin_new may be sadly disappointed when she finds it to be
replacing `operator new'.  The new ABI will reduce the probability of
this kind of bug because __builtin_new is spelled _Z<some ugliness>
that would be a strange name for a function.

I'll look into fixing this.  I'm trying to reduce G++'s reliance on
DECL_ASSEMBLER_NAME in as many places as possible.  Someone will
someday want to add a new mangling scheme, and we want to mangle
lazily, and both of those require that the front-end pretty much
ignore DECL_ASSEMBLER_NAME -- which makes sense, since it is, after
all, a front-end...

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com


More information about the Gcc-bugs mailing list