aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>1999-08-11 18:28:36 +0000
committerMartin v. Löwis <loewis@gcc.gnu.org>1999-08-11 18:28:36 +0000
commit155d38c0e70c621ac0dff60af1f9ab4c178d82c9 (patch)
tree2decbd61035e15e7314e0ada40cd46a354db3ac7
parent94304469a6eb265b30ef91f25b0f8e17cd330395 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/cp/lex.c28
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)))