+2001-12-07 Daniel Jacobowitz <drow@mvista.com>
+
+ * stabsread.c (read_member_functions): Skip member functions which
+ are duplicates of the callable constructor/destructor.
+
2001-12-07 Jim Blandy <jimb@redhat.com>
* s390-tdep.c (s390_store_return_value): Don't convert float
{
int nfn_fields = 0;
int length = 0;
+ int skip_method;
/* Total number of member functions defined in this class. If the class
defines two `f' functions, and one `g' function, then this will have
the value 3. */
look_ahead_type = NULL;
length = 0;
+ skip_method = 0;
+ if (p - *pp == strlen ("__base_ctor")
+ && strncmp (*pp, "__base_ctor", strlen ("__base_ctor")) == 0)
+ skip_method = 1;
+ else if (p - *pp == strlen ("__base_dtor")
+ && strncmp (*pp, "__base_dtor", strlen ("__base_dtor")) == 0)
+ skip_method = 1;
+ else if (p - *pp == strlen ("__deleting_dtor")
+ && strncmp (*pp, "__deleting_dtor",
+ strlen ("__deleting_dtor")) == 0)
+ skip_method = 1;
+
+ if (skip_method)
+ {
+ /* Skip past '::'. */
+ *pp = p + 2;
+ /* Read the type. */
+ read_type (pp, objfile);
+ /* Skip past the colon, mangled name, semicolon, flags, and final
+ semicolon. */
+ while (**pp != ';')
+ (*pp) ++;
+ (*pp) ++;
+ while (**pp != ';')
+ (*pp) ++;
+ (*pp) ++;
+
+ continue;
+ }
+
new_fnlist = (struct next_fnfieldlist *)
xmalloc (sizeof (struct next_fnfieldlist));
make_cleanup (xfree, new_fnlist);