Modified Files:

ChangeLog valops.c

        * valops.c(search_struct_method): to use unified search so type
	conversion operator works in calling method. (this file should be
	checked in with last commit, I missed it).
This commit is contained in:
Kung Hsu 1993-11-18 18:54:11 +00:00
parent f8944f8414
commit 6ebc9cddfc
2 changed files with 11 additions and 0 deletions

View File

@ -10,6 +10,7 @@ Wed Nov 17 18:23:09 1993 Kung Hsu (kung@cirdan.cygnus.com)
* eval.c(evaluate_subexp): to use unified search so type conversion
operator works in calling method.
* valarith.c(value_x_binop, value_x_unop): same as above.
* valops.c(search_struct_method): same as above.
Wed Nov 17 18:47:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)

View File

@ -1408,11 +1408,21 @@ search_struct_method (name, arg1p, args, offset, static_memfuncp, type)
int i;
value v;
static int name_matched = 0;
char dem_opname[64];
check_stub_type (type);
for (i = TYPE_NFN_FIELDS (type) - 1; i >= 0; i--)
{
char *t_field_name = TYPE_FN_FIELDLIST_NAME (type, i);
if (strncmp(t_field_name, "__", 2)==0 ||
strncmp(t_field_name, "op", 2)==0 ||
strncmp(t_field_name, "type", 4)==0 )
{
if (cplus_demangle_opname(t_field_name, dem_opname, DMGL_ANSI))
t_field_name = dem_opname;
else if (cplus_demangle_opname(t_field_name, dem_opname, 0))
t_field_name = dem_opname;
}
if (t_field_name && STREQ (t_field_name, name))
{
int j = TYPE_FN_FIELDLIST_LENGTH (type, i) - 1;