diff options
author | Per Bothner <bothner@gcc.gnu.org> | 1999-03-15 05:09:36 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1999-03-15 05:09:36 -0800 |
commit | 2728f622015ae0cfdf0461cdc894e6b8745fa708 (patch) | |
tree | 96761f52ef23766bac1be77216dae04bc8b5292c /gcc | |
parent | 10919149c3c46cc7041964ee2d309d360931336d (diff) | |
download | gcc-2728f622015ae0cfdf0461cdc894e6b8745fa708.zip gcc-2728f622015ae0cfdf0461cdc894e6b8745fa708.tar.gz gcc-2728f622015ae0cfdf0461cdc894e6b8745fa708.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/jcf-write.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 7a9cb91..cc90341 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) |