From 2728f622015ae0cfdf0461cdc894e6b8745fa708 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Mon, 15 Mar 1999 05:09:36 -0800 Subject: [PATCH] class.c (make_class): Don't set CLASS_P here (because this function is also called by... a * class.c (make_class): Don't set CLASS_P here (because this function is also called by build_java_array_type). (push_class): Set CLASS_P here instead. * parse.h (TYPE_CLASS_P): Check for TYPE_ARRAY_P is redundant. * jcf-dump.c (print_access_flags): Take extra parameter to indicate context. If the context is class, perfer "super" over "synchronized". * jcf-write.c (generate_classfile): Don't add ACC_SUPER if interface. * parse.y (create_class): Don't call parser_check_super here; it is not robust. Always wait until later. * parse.y (method_header): For interfaces, set ACC_ABSTRACT (to match what JDK 1.2 does), but don't set ACC_PUBLIC. From-SVN: r25783 --- gcc/java/jcf-write.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 7a9cb91ac3a..cc90341c4bf 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -2696,7 +2696,9 @@ generate_classfile (clas, state) else i = 8 + 2 * total_supers; ptr = append_chunk (NULL, i, state); - i = get_access_flags (TYPE_NAME (clas)) | ACC_SUPER; + i = get_access_flags (TYPE_NAME (clas)); + if (! (i & ACC_INTERFACE)) + i |= ACC_SUPER; PUT2 (i); /* acces_flags */ i = find_class_constant (&state->cpool, clas); PUT2 (i); /* this_class */ if (clas == object_type_node) -- 2.30.2