Commit bff3ce71 by Jason Merrill

error.c (dump_decl): operator new, not operatornew.

        * error.c (dump_decl): operator new, not operatornew.

        * class.c (field_decl_cmp): A nontype is "greater" than a type.
        * search.c (lookup_field_1): Look for the last field with the
        desired name.

From-SVN: r31262
parent ee07f4f4
2000-01-06 Jason Merrill <jason@casey.cygnus.com>
* error.c (dump_decl): operator new, not operatornew.
* class.c (field_decl_cmp): A nontype is "greater" than a type.
* search.c (lookup_field_1): Look for the last field with the
desired name.
2000-01-05 Nathan Sidwell <nathan@acm.org>
* decl2.c (lookup_arg_dependent): Deal with FNS not being a
......@@ -323,7 +331,8 @@
(avoid_overlap): Moved here from tree.c.
(build_base_fields): Likewise.
(check_bases): New function, split out from finish_base_struct.
(check_bases_and_members): New function, split out from finish_struct_1.
(check_bases_and_members): New function, split out from
finish_struct_1.
(struct base_info): Remove cant_have_default_ctor,
cant_have_const_ctor, cant_have_asn_ref.
(finish_base_struct): Split semantic analysis into check_bases.
......
......@@ -1946,7 +1946,8 @@ field_decl_cmp (x, y)
const tree *x, *y;
{
if (DECL_NAME (*x) == DECL_NAME (*y))
return 0;
/* A nontype is "greater" than a type. */
return DECL_DECLARES_TYPE_P (*y) - DECL_DECLARES_TYPE_P (*x);
if (DECL_NAME (*x) == NULL_TREE)
return -1;
if (DECL_NAME (*y) == NULL_TREE)
......
......@@ -951,6 +951,8 @@ dump_decl (t, flags)
{
const char *name_string = operator_name_string (t);
OB_PUTS ("operator");
if (ISALPHA (name_string[0]))
OB_PUTC (' ');
OB_PUTCP (name_string);
}
else
......@@ -1282,6 +1284,8 @@ dump_function_name (t, flags)
{
const char *name_string = operator_name_string (name);
OB_PUTS ("operator");
if (ISALPHA (name_string[0]))
OB_PUTC (' ');
OB_PUTCP (name_string);
}
else
......
......@@ -611,7 +611,16 @@ lookup_field_1 (type, name)
else if (DECL_NAME (fields[i]) < name)
lo = i + 1;
else
return fields[i];
{
/* We might have a nested class and a field with the
same name; we sorted them appropriately via
field_decl_cmp, so just look for the last field with
this name. */
while (i + 1 < hi
&& DECL_NAME (fields[i+1]) == name)
++i;
return fields[i];
}
}
return NULL_TREE;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment