mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 13:20:12 +08:00
* lex.c (do_identifier): Remove unnecessary lookup of class field.
From-SVN: r28671
This commit is contained in:
parent
94304469a6
commit
155d38c0e7
@ -1,3 +1,7 @@
|
||||
1999-08-10 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
|
||||
|
||||
* lex.c (do_identifier): Remove unnecessary lookup of class field.
|
||||
|
||||
1999-08-09 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
|
||||
|
||||
* decl2.c (set_decl_namespace): Do not complain about non-matching
|
||||
|
28
gcc/cp/lex.c
28
gcc/cp/lex.c
@ -3091,34 +3091,6 @@ do_identifier (token, parsing, args)
|
||||
else
|
||||
id = lastiddecl;
|
||||
|
||||
/* Scope class declarations before global
|
||||
declarations. */
|
||||
if ((!id || is_global (id))
|
||||
&& current_class_type != 0
|
||||
&& TYPE_SIZE (current_class_type) == 0)
|
||||
{
|
||||
/* Could be from one of the base classes. */
|
||||
tree field = lookup_field (current_class_type, token, 1, 0);
|
||||
if (field == 0)
|
||||
;
|
||||
else if (field == error_mark_node)
|
||||
/* We have already generated the error message.
|
||||
But we still want to return this value. */
|
||||
id = lookup_field (current_class_type, token, 0, 0);
|
||||
else if (TREE_CODE (field) == VAR_DECL
|
||||
|| TREE_CODE (field) == CONST_DECL
|
||||
|| TREE_CODE (field) == TEMPLATE_DECL)
|
||||
id = field;
|
||||
else if (TREE_CODE (field) != FIELD_DECL)
|
||||
my_friendly_abort (61);
|
||||
else
|
||||
{
|
||||
cp_error ("invalid use of member `%D'", field);
|
||||
id = error_mark_node;
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
||||
/* Do Koenig lookup if appropriate (inside templates we build lookup
|
||||
expressions instead). */
|
||||
if (args && !current_template_parms && (!id || is_global (id)))
|
||||
|
Loading…
Reference in New Issue
Block a user