summaryrefslogtreecommitdiff
path: root/gcc/java/class.c
diff options
context:
space:
mode:
authorapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-30 22:36:25 +0000
committerapbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-30 22:36:25 +0000
commita2cad990a216ca3a96d5675c232332f088a1ef45 (patch)
tree9853301b4a969ce1435d6529c461d2f6510bc73a /gcc/java/class.c
parent7df26e929ae1dc262282ed4f996606d45c4c78f6 (diff)
downloadgcc-a2cad990a216ca3a96d5675c232332f088a1ef45.tar.gz
1999-12-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (class_depth): Return -1 if the class doesn't load properly. * expr.c (can_widen_reference_to): Check for errors during depth computation and return 0 accordingly. * jcf-parse.c (parse_source_file): Call java_fix_constructors to create default constructors and add an other error check. * parse.h (java_fix_constructors): Prototyped. * parse.y (java_pre_expand_clinit): Likewise. (build_super_invocation): Re-prototyped to feature one argument. (java_check_circular_reference): Directly use `current'. (java_fix_constructors): New function. (java_check_regular_methods): Don't create default constructors here, but abort if none were found. (java_complete_expand_methods): Pre-process <clinit> calling java_pre_expand_clinit. (java_pre_expand_clinit): New function. (fix_constructors): build_super_invocation invoked with the current method declaration as an argument. (build_super_invocation): Use the context of the processed method decl argument instead of current_class. * typeck.c (lookup_java_method): Take WFLs in method names into account. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31144 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r--gcc/java/class.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 66941bd4967..e042c131931 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -403,6 +403,8 @@ class_depth (clas)
int depth = 0;
if (! CLASS_LOADED_P (clas))
load_class (clas, 1);
+ if (TYPE_SIZE (clas) == error_mark_node)
+ return -1;
while (clas != object_type_node)
{
depth++;