* class.c (inherits_from_p): Try to lay out super class
if it is not already laid out.
(maybe_layout_super_class): Handle the case where SUPER_CLASS
is a NULL_TREE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104483
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-09-21 Ranjit Mathew <rmathew@gcc.gnu.org>
+
+ PR java/21418
+ * class.c (inherits_from_p): Try to lay out super class
+ if it is not already laid out.
+ (maybe_layout_super_class): Handle the case where SUPER_CLASS
+ is a NULL_TREE.
+
2005-09-18 James A. Morrison <phython@gcc.gnu.org>
* builtins.c (max_builtin, min_builtin, abs_builtin,
{
if (type1 == type2)
return 1;
+
if (! CLASS_LOADED_P (type1))
load_class (type1, 1);
- type1 = CLASSTYPE_SUPER (type1);
+
+ type1 = maybe_layout_super_class (CLASSTYPE_SUPER (type1), type1);
}
return 0;
}
static tree
maybe_layout_super_class (tree super_class, tree this_class)
{
- if (TREE_CODE (super_class) == RECORD_TYPE)
+ if (!super_class)
+ return NULL_TREE;
+ else if (TREE_CODE (super_class) == RECORD_TYPE)
{
if (!CLASS_LOADED_P (super_class) && CLASS_FROM_SOURCE_P (super_class))
safe_layout_class (super_class);