This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

C++ PATCH for demangling vtbls in anonymous namespaces



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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]