This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
C++ PATCH for demangling vtbls in anonymous namespaces
- To: egcs-patches at cygnus dot com
- Subject: C++ PATCH for demangling vtbls in anonymous namespaces
- From: Mark Mitchell <mark at markmitchell dot com>
- Date: Sun, 25 Oct 1998 23:11:58 -0800
- Cc: Jason Merrill <jason at cygnus dot com>
- Reply-to: mark at markmitchell dot com
Here's a patch which fixes demanglings of vtables in anonymous
namespaces nested with named namespaces.
--
Mark Mitchell mark@markmitchell.com
Mark Mitchell Consulting http://www.markmitchell.com
1998-10-25 Mark Mitchell <mark@markmitchell.com>
* cplus-dem.c (gnu_special): Fix handling of virtual tables in
anonymous namespaces.
Index: libiberty/cplus-dem.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/libiberty/cplus-dem.c,v
retrieving revision 1.28
diff -c -p -r1.28 cplus-dem.c
*** cplus-dem.c 1998/10/23 14:52:49 1.28
--- cplus-dem.c 1998/10/26 05:01:51
*************** gnu_special (work, mangled, declp)
*** 2097,2103 ****
(*mangled) += 4; /* Old style, no thunks: "_vt<CPLUS_MARKER>" */
while (**mangled != '\0')
{
- p = strpbrk (*mangled, cplus_markers);
switch (**mangled)
{
case 'Q':
--- 2097,2102 ----
*************** gnu_special (work, mangled, declp)
*** 2130,2135 ****
--- 2129,2135 ----
(*mangled) += n;
}
+ p = strpbrk (*mangled, cplus_markers);
if (success && ((p == NULL) || (p == *mangled)))
{
if (p != NULL)