Commit 10919149 by Per Bothner

class.c (make_class): Don't set CLASS_P here (because this function is also called by...

T
	* 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: r25782
parent b5d51daa
...@@ -128,7 +128,6 @@ make_class () ...@@ -128,7 +128,6 @@ make_class ()
#else #else
TYPE_BINFO (type) = make_tree_vec (6); TYPE_BINFO (type) = make_tree_vec (6);
#endif #endif
CLASS_P (type) = 1;
pop_obstacks (); pop_obstacks ();
return type; return type;
...@@ -157,6 +156,7 @@ push_class (class_type, class_name) ...@@ -157,6 +156,7 @@ push_class (class_type, class_name)
int save_lineno = lineno; int save_lineno = lineno;
tree source_name = identifier_subst (class_name, "", '.', '/', ".java"); tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
push_obstacks (&permanent_obstack, &permanent_obstack); push_obstacks (&permanent_obstack, &permanent_obstack);
CLASS_P (class_type) = 1;
input_filename = IDENTIFIER_POINTER (source_name); input_filename = IDENTIFIER_POINTER (source_name);
lineno = 0; lineno = 0;
decl = build_decl (TYPE_DECL, class_name, class_type); decl = build_decl (TYPE_DECL, class_name, class_type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment