* parse.y (create_class): Set ACC_STATIC if class is declared in an
interface.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38365
138bc75d-0d04-0410-961f-
82ee72b054a4
* class.c (layout_class): Call maybe_layout_super_class on
superinterfaces also, but only if compiling from bytecode.
+ Fix for PR gcj/373:
+ * parse.y (create_class): Set ACC_STATIC if class is declared in an
+ interface.
+
2000-12-15 Tom Tromey <tromey@redhat.com>
* jcf-parse.c (jcf_parse_source): Set wfl_operator if not already
else
super_decl_type = NULL_TREE;
- /* Set super info and mark the class a complete */
+ /* A class nested in an interface is implicitly static. */
+ if (INNER_CLASS_DECL_P (decl)
+ && CLASS_INTERFACE (TYPE_NAME (TREE_TYPE (DECL_CONTEXT (decl)))))
+ {
+ flags |= ACC_STATIC;
+ }
+
+ /* Set super info and mark the class as complete. */
set_super_info (flags, TREE_TYPE (decl), super_decl_type,
ctxp->interface_number);
ctxp->interface_number = 0;