aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/class.c9
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index fea2c21..6934f07 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-10 Bryce McKinlay <mckinlay@redhat.com>
+
+ * class.c (common_enclosing_context_p): Remove statement with no
+ side-effects.
+
2004-07-09 Bryce McKinlay <mckinlay@redhat.com>
PR java/8618
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 1273b62..abadbd1 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -594,9 +594,7 @@ enclosing_context_p (tree type1, tree type2)
int
common_enclosing_context_p (tree type1, tree type2)
{
- for (type1; type1;
- type1 = (INNER_CLASS_TYPE_P (type1) ?
- TREE_TYPE (DECL_CONTEXT (TYPE_NAME (type1))) : NULL_TREE))
+ while (type1)
{
tree current;
for (current = type2; current;
@@ -605,6 +603,11 @@ common_enclosing_context_p (tree type1, tree type2)
NULL_TREE))
if (type1 == current)
return 1;
+
+ if (INNER_CLASS_TYPE_P (type1))
+ type1 = TREE_TYPE (DECL_CONTEXT (TYPE_NAME (type1)));
+ else
+ break;
}
return 0;
}