+Wed Nov  3 16:24:09 1993  Kung Hsu  (kung@cirdan.cygnus.com)
+
+       * values.c (value_fn_field): when physical name not found, do not
+       error, but return null.
+       * valops.c (value_struct_elt): when name and args match does not
+       mean it is the one, some times a typedef class can have the same
+       memeber method and args. This probably will not happen with new
+       version of g++, but it does happen in old g++ and cause gdb error.
+
 Wed Nov  3 09:20:18 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
        Merge changes for dos x udi:
 
 
   sym = lookup_symbol (TYPE_FN_FIELD_PHYSNAME (f, j),
                       0, VAR_NAMESPACE, 0, NULL);
-  if (! sym) error ("Internal error: could not find physical method named %s",
+  if (! sym) 
+       return (value)NULL;
+/*
+       error ("Internal error: could not find physical method named %s",
                    TYPE_FN_FIELD_PHYSNAME (f, j));
+*/
   
   v = allocate_value (ftype);
   VALUE_ADDRESS (v) = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
        * But we leave it in for future use, when we will hopefully
        * have optimizes the vtable to use thunks instead of offsets. */
       /* Use the name of vtable itself to extract a base type. */
-      demangled_name += 4;  /* Skip \7fvt$ prefix. */
+      demangled_name += 4;  /* Skip _vt$ prefix. */
     }
   else
     {
 
   if (*name != '_')
     return 0;
-  /* gcc 2.4 uses \7fvb$.  */
+  /* gcc 2.4 uses _vb$.  */
   if (name[1] == 'v' && name[2] == 'b' && name[3] == CPLUS_MARKER)
     field_class_name = name + 4;
-  /* gcc 2.5 will use \7f_vb_.  */
+  /* gcc 2.5 will use __vb_.  */
   if (name[1] == '_' && name[2] == 'v' && name[3] == 'b' && name[4] == '_')
     field_class_name = name + 5;