diff options
author | Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de> | 1999-08-11 18:28:36 +0000 |
---|---|---|
committer | Martin v. Löwis <loewis@gcc.gnu.org> | 1999-08-11 18:28:36 +0000 |
commit | 155d38c0e70c621ac0dff60af1f9ab4c178d82c9 (patch) | |
tree | 2decbd61035e15e7314e0ada40cd46a354db3ac7 | |
parent | 94304469a6eb265b30ef91f25b0f8e17cd330395 (diff) | |
download | gcc-155d38c0e70c621ac0dff60af1f9ab4c178d82c9.zip gcc-155d38c0e70c621ac0dff60af1f9ab4c178d82c9.tar.gz gcc-155d38c0e70c621ac0dff60af1f9ab4c178d82c9.tar.bz2 |
* lex.c (do_identifier): Remove unnecessary lookup of class field.
From-SVN: r28671
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/lex.c | 28 |
2 files changed, 4 insertions, 28 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6575c57..bc2d0d4 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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 diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 48a2d98..81ec12e 100644 --- a/gcc/cp/lex.c +++ b/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))) |