re PR java/21844 (miscompilation of LinkedHashMap)

PR java/21844:
	* parse.y (nested_field_access_p): Handle case where outer field
	is inherited by enclosing class.

From-SVN: r100893
This commit is contained in:
Tom Tromey 2005-06-13 19:20:22 +00:00 committed by Tom Tromey
parent ab99519a1d
commit 924b245026
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2005-06-13 Tom Tromey <tromey@redhat.com>
PR java/21844:
* parse.y (nested_field_access_p): Handle case where outer field
is inherited by enclosing class.
2005-06-12 Per Bothner <per@bothner.com>
* class.c (inherits_from_p): Do load_class if needed.

View File

@ -8389,13 +8389,6 @@ nested_field_access_p (tree type, tree decl)
{
if (type_root == decl_type)
return 1;
/* Before we give up, see whether it is a non-static field
inherited from the enclosing context we are considering. */
if (!DECL_CONTEXT (TYPE_NAME (type_root))
&& !is_static
&& inherits_from_p (type_root, decl_type))
return 1;
}
if (TREE_CODE (decl_type) == RECORD_TYPE
@ -8416,6 +8409,13 @@ nested_field_access_p (tree type, tree decl)
if (type_root == decl_type_root)
return 1;
/* Before we give up, see whether it is a non-static field
inherited from the enclosing context we are considering. */
if (!DECL_CONTEXT (TYPE_NAME (type_root))
&& !is_static
&& inherits_from_p (type_root, decl_type))
return 1;
return 0;
}