Commit Graph

64 Commits

Author SHA1 Message Date
Mike Stump
0e7d217a97 boehm.c (set_bit): Improve type safety wrt unsignedness.
* boehm.c (set_bit): Improve type safety wrt unsignedness.
        * gjavah.c (throwable_p, decode_signature_piece,
        print_full_cxx_name, print_include, add_namelet, add_class_decl,
        process_file): Likewise.
        * jcf-dump.c (main): Likewise.
        * jcf-io.c (read_zip_member): Likewise.
        * jcf-parse.c (HANDLE_CONSTANT_Utf8, get_constant,
        give_name_to_class, get_class_constant): Likewise.
        * jcf-write.c (find_constant_wide, push_long_const,
        generate_classfile): Likewise.
        * lex.c (java_new_lexer, java_read_char, cxx_keyword_p): Likewise.
        * parse.y (read_import_dir): Likewise.
        * typeck.c (parse_signature_type): Likewise.
        * verify.c (verify_jvm_instructions): Likewise.
        * zextract.c (find_zip_file_start, read_zip_archive): Likewise.

From-SVN: r85102
2004-07-24 00:03:28 +00:00
Andrew Haley
00150bf9f3 verify.c (verify_jvm_instructions): Comment change only.
2004-07-20  Andrew Haley  <aph@redhat.com>

	* verify.c (verify_jvm_instructions): Comment change only.

	* typeck.c (build_java_array_type): Add size field to array name.

	* java-tree.h (LOCAL_SLOT_P): New.
	(update_aliases): Add PC argument.
	(pushdecl_function_level): New function.

	* java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
	MODIFY_EXPR, and SAVE_EXPR.
	(java_gimplify_modify_expr): New function.

	* expr.c (push_type_0): Call find_stack_slot() to create temporary.
	(expand_iinc): Pass PC to update_aliases().
	(STORE_INTERNAL): Likewise.
	(process_jvm_instruction): Likewise.

	* decl.c (base_decl_map): New variable.
	(uniq): New variable.
	(update_aliases): Rewrite with more thorough checking.
	(debug_variable_p): New function.
	(push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
	(check_local_named_variable): Delete whole function.
	(initialize_local_variable): New function.
	(check_local_unnamed_variable): Add checks and comments.
	(find_local_variable): Rewrite.
	(java_replace_reference): New function.
	(function_binding_level): New variable.
	(pushdecl_function_level): New function.
	(maybe_pushlevels): Set DECL_LOCAL_END_PC.
	(maybe_pushlevels): Call pushdecl() on each of the new decls.
	(start_java_method): Reset uniq.  Create base_decl_map.  Set
	function_binding_level.
	(end_java_method): Null unused fields to save memory.

From-SVN: r85009
2004-07-21 16:03:43 +00:00
Nathan Sidwell
604a320594 tree.h (TYPE_BINFO_OFFSET, [...]): Remove.
* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
	TYPE_BINFO_BASETYPE): Remove.
	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
	to ...
	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
	here.
	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
	(struct tree_binfo): Rename base_types to base_binfos.
	* alias.c (record_component_aliases): Adjust BINFO macros.
	* dbxout.c (dbxout_type): Likewise.
	* dwarf2out.c (gen_member_die): Likewise.
	* sdbout.c (sdbout_one_type): Likewise.
	* tree-dump.c (deque_and_dump): Likewise.
	* config/i386/i386.c (classify_argument,
	contains_128bit_aligned_vector_p): Likewise.

	* cp/cp-tree.h (CLASSTYPE_N_BASECLASSES): Remove.
	* cp/class.c (build_primary_vtable, check_bases,
	determine_primary_base, finish_struct_bits,
	maybe_warn_about_overly_private_class, dfs_find_final_overrider_q,
	get_basefndecls, warn_hidden, walk_subobject_offsets,
	build_base_fields, create_vtable_ptr, propagate_binfo_offsets,
	layout_virtual_bases, end_of_class, warn_about_ambiguous_bases,
	finish_struct_1, get_vfield_name, contains_empty_class_p,
	dump_class_hierarchy_r, finish_vtbls, build_vtt_inits,
	dfs_ctor_vtable_bases_queue_p, accumulate_vtbl_inits,
	add_vcall_offset_vtbl_entries_r, cp_fold_obj_type_ref): Adjust
	BINFO macros.
	* cp/decl.c (xref_basetypes): Likewise.
	* cp/dump.c (cp_dump_tree): Likewise.
	* cp/error.c (dump_expr): Likewise.
	* cp/init.c (sort_mem_initializers, expand_member_init,
	push_base_cleanups): Likewise.
	* cp/method.c (do_build_copy_constructor, do_build_assign_reg,
	synthesize_exception_spec): Likewise.
	* cp/name-lookup.c (arg_assoc_class):
	* cp/pt.c (instantiate_class_template, tsubst,
	get_template_base_recursive):
	* cp/ptree.c (cxx_print_type):
	* cp/rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise.
	* cp/search.c (lookup_base_r, dynamic_cast_base_recurse,
	dfs_access_in_type, access_in_type, lookup_field_queue_p,
	bfs_walk, dfs_walk_real, look_for_overrides, markedp, unmarkedp,
	marked_pushdecls_p, unmarked_pushdecls_p, dfs_debug_markedp,
	dfs_debug_unmarkedp, dfs_check_overlap, dfs_no_overlap_yet,
	binfo_for_vtable, copied_binfo, original_binfo): Likewise
	* cp/tree.c (copy_base_binfos, make_binfo): Likewise.
	* cp/typeck.c (commmon_base_type): Likewise
	* cp/typeck2.c (process_init_constructor): Likewise

	* java/java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
	(TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
	* java/class.c (set_super_info, class_depth, interface_of_p,
	maybe_add_interface, add_interface, make_class_data,
	layout_class, add_miranda_methods): Adjust BINFO macros.
	* java/expr.c (can_widen_reference_to, lookup_field): Likewise.
	* java/jcf-write.c (generate_classfile): Likewise.
	* java/parse.y (patch_anonymous_class,
	check_inner_circular_reference, check_circular_reference,
	java_complete_class, check_abstract_method_definitions,
	java_check_abstract_method_definitions,
	check_interface_throws_clauses, java_check_abstract_methods,
	lookup_java_interface_method2,
	find_applicable_accessible_methods_list): Likewise.
	* java/typeck.c (find_method_in_interface): Likewise.
	* java/verify.c (merge_types): Likewise.

From-SVN: r84198
2004-07-07 10:21:04 +00:00
Ranjit Mathew
dafa622b60 * verify.c: Correct array element access formatting thinko.
From-SVN: r84086
2004-07-04 16:32:32 +00:00
Ranjit Mathew
c516c1ff9b verify.c: Insert a short blurb at the start referring to the JVMS.
* verify.c: Insert a short blurb at the start referring to the JVMS.
	Minor formatting fixes all over the place.
	(merge_type_state): Remove redundant nested if statement.
	(verify_jvm_instructions): Ensure current_subr is initialised to
	NULL_TREE.

Cii: Enter Log.  Lines beginning with `CVS:' are removed automaticalli

From-SVN: r84084
2004-07-04 15:19:16 +00:00
Ranjit Mathew
fe0b9fb522 Formatting fixes.
* expr.c (class_has_finalize_method): Fix method name indentation.
        (expand_java_call): Remove K&R style parameter declaration.
        (expand_invoke): Fix statement indentation.
        (expand_java_field_op): Likewise.
        * parse-scan.y: Fix typo.
        (reset_report): Fix method name indentation.
        * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
        line. Fix typos.
        * verify.c (verify_jvm_instructions): Document parameters, insert
        page break.
        * lang.c (lang_init_source): Fix method name indentation.
        * class.c (common_enclosing_context_p): Likewise.
        (emit_symbol_table): Fix parameter list indentation.
        * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
        parameter declaration.
        * constants.c: Fix copyright notice indentation.
        * typeck.c (find_method_in_superclasses): Fix parameter list
        indentation.
        (find_method_in_interfaces): Likewise.
        * zextract.c (makelong): Fix method name indentation.

From-SVN: r83738
2004-06-27 18:16:49 +00:00
Kazu Hirata
3a976c72d6 class.c: Remove uses of "register" specifier in declarations of arguments and local...
* class.c: Remove uses of "register" specifier in
	declarations of arguments and local variables.
	* decl.c: Likewise.
	* expr.c: Likewise.
	* gjavah.c: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.c: Likewise.
	* jcf-write.c: Likewise.
	* keyword.h: Likewise.
	* parse.y: Likewise.
	* typeck.c: Likewise.
	* verify.c: Likewise.

From-SVN: r74882
2003-12-20 15:38:28 +00:00
Frank Ch. Eigler
ab212c2475 * approved by aph
2003-10-28  Frank Ch. Eigler  <fche@redhat.com>

	* verify.c (verify_jvm_instructions): Don't warn about legal
	eh binding regions generated for example by jdk 1.4.1.

From-SVN: r73012
2003-10-28 18:38:07 +00:00
Kazu Hirata
634661fe5a check-init.c: Fix comment typos.
* check-init.c: Fix comment typos.
	* class.c: Likewise.
	* constants.c: Likewise.
	* decl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* java-except.h: Likewise.
	* java-tree.h: Likewise.
	* javaop.h: Likewise.
	* jcf-dump.c: Likewise.
	* jcf-io.c: Likewise.
	* jcf-parse.c: Likewise.
	* jcf-write.c: Likewise.
	* lang.c: Likewise.
	* mangle.c: Likewise.
	* typeck.c: Likewise.
	* verify.c: Likewise.

From-SVN: r61477
2003-01-18 22:15:51 +00:00
Kaveh R. Ghazi
0a2f0c5497 * All Files: Convert to ISO C style function definitions.
From-SVN: r61218
2003-01-12 02:14:56 +00:00
Kaveh R. Ghazi
77d3109be2 * class.c, gjavah.c, parse.y, verify.c: Don't use PTR.
From-SVN: r61137
2003-01-10 03:04:41 +00:00
Kaveh R. Ghazi
d2097937c5 * All Files: Remove PARAMS macro.
From-SVN: r61133
2003-01-09 23:16:56 +00:00
Steven Bosscher
f309ff0a12 Make-lang.in, [...]: Replace "GNU CC" with "GCC" in the copyright header.
* Make-lang.in, boehm.c, buffer.c,
	  buffer.h, builtins.c, class.c,
	  config-lang.in, constants.c,
	  convert.h, decl.c, except.c,
	  expr.c, java-except.h,
	  java-tree.h, javaop.def,
	  jcf-parse.c, jcf-write.c,
	  jv-scan.c, jvgenmain.c,
	  jvspec.c, keyword.gperf,
	  keyword.h, lang-options.h,
	  lang-specs.h, lang.c, lex.c,
	  lex.h, mangle.c, mangle_name.c,
	  parse-scan.y, parse.h, parse.y,
	  typeck.c, verify.c, xref.c,
	  xref.h: Replace "GNU CC" with
	  "GCC" in the copyright header.

	* check-init.c, gjavah.c, javaop.h,
	  jcf-depend.c, jcf-dump.c, jcf-io.c,
	  jcf-path.c, jcf-reader.c, jcf.h,
	  zextract.c, zipfile.h: These files are
	  "part of GCC". Also say "GCC" not "GNU CC".

From-SVN: r60747
2003-01-01 15:10:03 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Jens-Michael Hoffmann
a92cb0c3d3 buffer.c: Remove unnecessary casts.
2002-11-14  Jens-Michael Hoffmann  <jensmh@gmx.de>

        * buffer.c: Remove unnecessary casts.
        * check-init.c: Likewise.
        * class.c: Likewise.
        * constants.c: Likewise.
        * decl.c: Likewise.
        * except.c: Likewise.
        * gjavah.c: Likewise.
        * jcf-io.c: Likewise.
        * jcf-parse.c: Likewise.
        * jcf-path.c: Likewise.
        * jvspec.c: Likewise.
        * lang.c: Likewise.
        * lex.c: Likewise.
        * verify.c: Likewise.

From-SVN: r59224
2002-11-18 15:46:34 +00:00
Jesse Rosenstock
23114b697a For PR java/5794:
2002-09-03  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	For PR java/5794:
	* verify.c (verify_jvm_instructions) [OPCODE_jsr]: Only push the
	return label if a ret instruction for the jsr has been reached.

From-SVN: r57035
2002-09-11 19:37:03 +00:00
Andrew Haley
b139fcfd92 verify.c (verify_jvm_instructions): Allow exception handler inside code that is being protected, but generate a warning.
2002-08-28  Andrew Haley  <aph@redhat.com>

	* verify.c (verify_jvm_instructions): Allow exception handler
	inside code that is being protected, but generate a warning.
	* except.c (link_handler): Initialize `expanded' in new eh_range.
	(binding_depth, is_class_level, current_pc): Declare extern.

From-SVN: r56842
2002-09-05 13:24:41 +00:00
Zack Weinberg
c02ebb1834 java-tree.h, [...]: Remove all #if JAVA_USE_HANDLES blocks...
* java-tree.h, class.c, expr.c, jcf-parse.c, parse.y,
	typeck.c, verify.c: Remove all #if JAVA_USE_HANDLES blocks,
	all mention of CLASS_TO_HANDLE_TYPE or HANDLE_TO_CLASS_TYPE,
	and all now-pointless local variables.  Rename other local
	variables to reflect their not being handles.

	* java-tree.h, jcf-dump.c, jcf-io.c: Remove all
	#if JCF_USE_STDIO blocks.

	* parse.y: Add missing semicolon at end of rule.

From-SVN: r54261
2002-06-04 20:32:08 +00:00
Joseph Myers
a83f01f040 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, Make-lang.in, class.c, expr.c, gcj.texi, java-tree.h,
	jcf-parse.c, jcf-write.c, lex.c, parse.h, parse.y, verify.c: Fix
	spelling errors.

From-SVN: r48075
2001-12-16 16:23:50 +00:00
Per Bothner
82ff672eb7 verify.c (subroutine_nesting): New function.
* verify.c (subroutine_nesting):  New function.
	(verify_jvm_instructions):  Use it to fix logic for checking that
	we're done with the current subroutine.

	* verify.c (verify_jvm_instruction): For OPCODE_checkcast and
	OPCODE_instanceof use POP_TYPE macro for better diagnostics.

From-SVN: r47572
2001-12-03 15:30:21 -08:00
Mark Mitchell
6d334db811 * verify.c (verify_jvm_instructions): Fix typo.
From-SVN: r45586
2001-09-14 00:16:36 +00:00
Zack Weinberg
74d04dd13b * verify.c: Don't use // comments.
From-SVN: r43840
2001-07-07 18:26:11 +00:00
Kaveh R. Ghazi
962584ea56 jcf-io.c (read_zip_member): Cast to long in comparison with signed value.
* jcf-io.c (read_zip_member): Cast to long in comparison with
	signed value.

	* jvspec.c (lang_specific_driver): Initialize variables.

	* mangle.c (find_compression_record_match): Likewise.

	* typeck.c (build_null_signature): Provide static prototype.  Mark
	parameter with ATTRIBUTE_UNUSED.

	* verify.c (verify_jvm_instructions): Initialize variable.

From-SVN: r41671
2001-04-29 11:24:37 +00:00
Per Bothner
5acea42bfb verify.c (verify_jvm_instructions): For field instructions, check that field index is valid.
* verify.c (verify_jvm_instructions):  For field instructions,
	check that field index is valid.  For invoke instructions, check that
	method index is valid.

From-SVN: r41600
2001-04-26 11:11:02 -07:00
Per Bothner
fa029f453a re PR java/1208 (Gcj can't compile a class file it generates.)
e
	* verify.c (verify_jvm_instructions):  Replace 3 pop_type by POP_TYPE
	macro for better error pin-pointing.
	* java-tree.h:  Fix typo in comment.

	* jcf-write.c (generate_bytecode_insns):  Changes to TRY_FINALLY_EXPR.
	Don't include jsr/goto in exception range.
	Check if start and end of exception range are the same (also TRY_EXPR).
	Don't emit jsr after try_block if CAN_COMPLETE_NORMALLY is false.
	However, do emit the following goto even if try_block is empty.
	Defer freeing exception_decl until after the finalizer, to make
	sure the local isn't reused in the finalizer.  Fixes PR java/1208.

	* parse.y (java_complete_lhs):  If the try-clause is empty, just
	return the finally-clause and vice versa.

From-SVN: r40801
2001-03-23 17:13:30 -08:00
Per Bothner
19f8e04bff verify.c (verify_jvm_instructions): Better error msgs for dup.
* verify.c (verify_jvm_instructions):  Better error msgs for dup.
	(type_stack_dup):  Remove no-longer neded error check.

From-SVN: r40529
2001-03-15 20:16:54 -08:00
Richard Kenner
400500c4a5 diagnostic.h (set_internal_error_function): Renamed.
* diagnostic.h (set_internal_error_function): Renamed.
	* toplev.h (internal_error): Renamed from fatal.
	(pfatal_with_name): Deleted.
	(fatal_io_error): Now has printf-style arguments.
	* diagnostic.c (pfatal_with_name): Deleted.
	(fatal_io_error): Rework to have args in printf-style.
	(set_internal_error_function): Renamed from set_fatal_function.
	(internal_error): Renamed from fatal.
	(error_recursion, fancy_abort): Call internal_error instead of fatal.
	* dwarf2out.c (get_cfa_from_loc_descr): Likewise.
	* emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
	* expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
	* flow.c (verify_flow_info): Likewise.
	* config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
	* config/mips/mips.c (save_restore_insns): Likewise.
	* cp/init.c (build_java_class_ref): Likewise.
	(dsp16xx_reg_class_from_letter): Likewise.
	(limit_reload_class, double_reg_to_memory): Likewise.
	(print_operand_address, emit_1600_code_shift): Likewise.
	(gen_tst_reg, gen_compare_reg): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
	* cp/decl.c (pushdecl): Likewise.
	* java/check-init.c (check_init): Likewise.
	* java/expr.c (java_lang_expand_expr): Likewise.
	* java/jcf-parse.c (get_constant): Likewise.
	* java/mangle.c (java_mangle_decl): Likewise.
	* java/parse.y (make_nested_class_name, java_complete_lhs): Likewise.
	(operator_string): Likewise.

	* except.c (duplicate_eh_handlers): Call abort instead of fatal.
	* flow.c (verify_flow_info): Likewise.
	* ch/convert.c (convert): Likewise.
	* ch/except.c (pop_handler, chill_check_no_handlers): Likewise.
	* ch/expr.c (chill_expand_expr): Likewise.
	* ch/parse.c (peek_token_, pushback_token, require): Likewise.
	* config/arm/arm.c (thumb_load_double_from_address): Likewise.
	* config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
	(avr_normalize_condition): Likewise.
	* config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
	* config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
	(limit_reload_class, double_reg_to_memory): Likewise.
	(print_operand_address, emit_1600_code_shift): Likewise.
	(gen_tst_reg, gen_compare_reg): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
	* cp/decl.c (pushdecl): Likewise.
	* java/check-init.c (check_init): Likewise.
	* java/class.c (build_class_ref): Likewise.
	* java/constants.c (write_constant_pool): Likewise.
	* java/decl.c (start_java_method): Likewise.
	* java/expr.c (push_type, java_stack_pop, java_stack_swap): Likewise.
	(java_stack_dup, encode_newarray_type): Likewise.
	(build_java_array_length_access): Likewise.
	(build_java_check_indexed_type, expand_java_pushc): Likewise.
	(build_java_soft_divmod, build_invokeinterface): Likewise.
	* java/java-tree.h (INNER_CLASS_P): Likewise.
	* java/jcf-parse.c (parse_signature, get_name_constant): Likewise.
	(give_name_to_class, get_class_constant): Likewise.
	* java/jcf-write.c (CHECK_PUT, CHECK_OP, get_access_flags): Likewise.
	(find_constant_index, generate_bytecode_conditional): Likewise.
	(generate_bytecode_insns, perform_relocations): Likewise.
	* java/lex.c (java_unget_unicode, java_lex): Likewise.
	* java/mangle.c (mangle_type, mangle_record_type): Likewise.
	(mangle_pointer_type, mangle_array_type, init_mangling): Likewise.
	(finish_mangling): Likewise.
	* java/parse.h (MARK_FINAL_PARMS): Likewise.
	* java/parse.y (pop_current_osb, unreachable_stmt_error): Likewise.
	(obtain_incomplete_type, java_complete_class): Likewise.
	(java_check_regular_methods, java_complete_expand_method): Likewise.
	(cut_identifier_in_qualified, check_deprecation): Likewise.
	(patch_invoke, find_applicable_accessible_methods_list): Likewise.
	(java_complete_lhs, lookup_name_in_blocks): Likewise.
	(check_final_variable_indirect_assignment, build_unaryop): Likewise.
	* java/typeck.c (set_local_type, parse_signature_type): Likewise.
	(parse_signature_string, build_java_signature): Likewise;
	(set_java_signature): Likewise.
	* java/verify.c (type_stack_dup, CHECK_PC_IN_RANGE): Likewise.

	* c-parse.in (methoddef): Call fatal_error instead of fatal.
	* objc/objc-act.c (build_ivar_chain): Likewise.
	* cp/except.c (decl_is_java_type): Likewise.
	* cp/init.c (build_java_class_ref): Likewise.
	* cp/init.c (build_new_1): Likewise.
	* f/com.c (ffecom_init_0): Likewise.
	* java/class.c (add_method, build_static_field_ref): Likewise.
	* java/expr.c (build_known_method_ref, expand_invoke): Likewise.
	* java/jcf-parse.c (get_constant, jcf_parse): Likewise.
	* java/lex.c (java_new_new_lexer): Likewise.
	* java/jv-scan.c (main): Likewise.
	(fatal_error): Renamed from fatal.

	* dwarfout.c (dwarfout_init): Call fatal_io_error instead of
	pfatal_with_name.
	* graph.c (clean_graph_dump_file): Likewise.
	* profile.c (init_branch_prob): Likewise.
	* ch/grant.c (write_grant_file): Likewise.
	* ch/lex.c (init_parse, same_file, yywrap): Likewise.
	* f/com.c (init_parse): Likewise.
	* java/jcf-parse.c (yyparse): Likewise.
	* objc/objc-act.c (objc_init): Likewise.

	* java/jcf-parse.c (jcf_parse_source): Call fatal_io_error, not fatal.
	(yyparse): Likewise.
	* java/jcf-write.c (make_class_file_name, write_classfile): Likewise.
	* java/lex.c (java_get_line_col): Likewise.

	* hash.c (hash_allocate): Don't check for failure returns from
	obstack functions that can't fail.
	(hash_table_init_n, hash_table_init): Likewise; also now return void.
	* hash.h (hash_table_init_n, hash_table_init): Now return void.
	* cp/decl.c (build_typename_type): hash_table_init now returns void.

	* ch/lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
	* ch/lex.c (convert_bitstring): Delete check for alloca failure.
	* config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
	Deleted.
	* config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.

	* f/com.c (ffecom_decode_include_option_): Make errors non-fatal.
	* f/lex.c (ffelex_cfelex_, ffelex_get_directive_line_): Likewise.
	(ffelex_hash_): Likewise.
	* config/arm/arm.c (arm_override_options): Likewise.
	* config/avr/avr.c (avr_override_options): Likewise.
	* config/c4x/c4x.c (c4x_expand_prologue): Likewise.
	* config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
	* config/h8300/h8300.c (h8300_init_once): Likewise.
	* config/mips/mips.c (override_options): Likewise.
	* config/i386/i386.c (override_options): Likewise, rework.
	* config/m68k/m68k.c (override_options): Likewise.
	* cp/decl.c (init_decl_processing): Likewise.
	* java/jcf-parse.c (load_class): Likewise.

	* config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
	instead of fatal.
	* config/mips/mips.c (print_operand): Likewise.

	* java/lex.c (byteswap_init, need_byteswap): Only #ifdef HAVE_ICONV.
	* objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
	(get_object_reference): Likewise.

From-SVN: r39443
2001-02-04 17:44:12 -05:00
Alexandre Petit-Bianco
493d561d62 class.c (layout_class): Don't lay the superclass out if it's already being laid out.
2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (layout_class): Don't lay the superclass out if it's
	already being laid out.
	* jcf-parse.c (handle_innerclass_attribute): New function.
	(HANDLE_INNERCLASSES_ATTRIBUTE): Invoke
	handle_innerclasses_attribute.
	(jcf_parse): Don't load an innerclasses if it's already being
	laid out.
	* jcf-write.c (append_innerclass_attribute_entry): Static
	`anonymous_name' and its initialization deleted. `ocii' and `ini'
	to be zero for anonymous classes.

2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if
	necessary.
	* jcf-parse.c (set_source_filename): Use
	MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary.

2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it
	gets a unique asm name.

2001-01-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* jcf-parse.c (HANDLE_END_METHODS): Nullify current_method.
	(HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
	if necessary.
	(HANDLE_SYNTHETIC_ATTRIBUTE): New macro.
	* jcf-reader.c (get_attribute): Handle `Synthetic' attribute.
	* parse.y (lookup_package_type_and_set_next): Deleted.
	(resolve_package): Removed unnecessary code.
	(find_applicable_accessible_methods_list): `finit$' can't be
 	inherited.
	* verify.c (pop_argument_types): Added missing prototype.

(http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01812.html)

From-SVN: r39230
2001-01-24 00:08:36 -08:00
Per Bothner
9c0c88ac0d verify.c (VERIFICATION_ERROR_WITH_INDEX): New macro.
* verify.c (VERIFICATION_ERROR_WITH_INDEX):  New macro.
	(verify_jvm_instructions):  Use it, for better error messages on loads.

From-SVN: r39171
2001-01-21 12:36:46 -08:00
Per Bothner
230cbd5f4f verify.c (merge_type_state): Stil may have to merge even if LABEL_VERIFIED (label).
* verify.c (merge_type_state):  Stil may have to merge even if
	LABEL_VERIFIED (label).

From-SVN: r39170
2001-01-21 12:26:37 -08:00
Per Bothner
984ad2c633 Various patches to emit better messages on verification errors.
From-SVN: r39019
2001-01-14 13:48:10 -08:00
Kaveh R. Ghazi
80393943c7 Warning fixes:
* gjavah.c (NEED_PEEK_ATTRIBUTE, NEED_SKIP_ATTRIBUTE): Define

	* jcf-reader.c (peek_attribute, skip_attribute): Only define
	when requested.

	* parse.h (yyerror): If JC1_LITE, mark with ATTRIBUTE_NORETURN.

	* verify.c (CHECK_PC_IN_RANGE): Cast result of stmt-expr to void.

From-SVN: r36994
2000-10-21 15:10:38 +00:00
Tom Tromey
86e4b1e4fa expr.c (pop_type_0): Return `Object' if trying to merge two interface types.
* expr.c (pop_type_0): Return `Object' if trying to merge two
	interface types.
	* verify.c (merge_types): Don't return `TYPE_UNKNOWN' for
	interface types; `Object' is always a valid supertype.

From-SVN: r36378
2000-09-12 22:31:00 +00:00
Alexandre Petit-Bianco
3e99f50c2b verify.c (merge_types): Load the types to merge if necessary.
2000-09-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* verify.c (merge_types): Load the types to merge if necessary.

(http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00245.html)

From-SVN: r36243
2000-09-07 11:24:41 -07:00
Alexandre Petit-Bianco
81baa09a56 jcf-write.c (generate_bytecode_conditional): Re-installed lost Jan 6 2000 patch.
2000-08-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-write.c (generate_bytecode_conditional): Re-installed lost
        Jan 6 2000 patch.
        (generate_bytecode_insns): Check `nargs' before emitting it.
        * verify.c (merge_type_state): Fixed typo.
        * ChangeLog: Fixed typo in some jcf-write.c entries mentioning
        generate_bytecode_{conditional,insns}.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00617.html)

From-SVN: r35733
2000-08-15 17:05:29 -07:00
Alexandre Petit-Bianco
c2952b018a Added Java 1.1 language features.
From-SVN: r32517
2000-03-13 21:01:05 -08:00
Kaveh R. Ghazi
df32d2ce42 buffer.h: PROTO -> PARAMS.
* buffer.h: PROTO -> PARAMS.
        * check-init.c: Likewise.
        * class.c: Likewise.
        * constants.c: Likewise.
        * convert.h: Likewise.
        * decl.c: Likewise.
        * except.c: Likewise.
        * expr.c: Likewise.
        * gjavah.c: Likewise.
        * java-except.h: Likewise.
        * java-tree.h: Likewise.
        * jcf-depend.c: Likewise.
        * jcf-dump.c: Likewise.
        * jcf-parse.c: Likewise.
        * jcf-path.c: Likewise.
        * jcf-reader.c: Likewise.
        * jcf-write.c: Likewise.
        * jcf.h: Likewise.
        * jv-scan.c: Likewise.
        * jvgenmain.c: Likewise.
        * jvspec.c: Likewise.
        * lang.c: Likewise.
        * lex.c: Likewise.
        * lex.h: Likewise.
        * parse-scan.y: Likewise.
        * parse.h: Likewise.
        * parse.y: Likewise.
        * typeck.c: Likewise.
        * verify.c: Likewise.
        * xref.c: Likewise.
        * xref.h: Likewise.
        * zextract.c: Likewise.
        * zipfile.h: Likewise.

From-SVN: r31550
2000-01-21 20:57:00 +00:00
Alexandre Petit-Bianco
de1f429d34 [multiple changes]
Tue Nov 30 12:36:15 1999  Anthony Green  <green@cygnus.com>

        * verify.c (verify_jvm_instructions): Create new return label
        chain if non existant (don't rely on the verified state of the jsr
        target.)

Tue Nov 23 17:29:40 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * verify.c (merge_type_state): Non verified subroutines being
        considered more than once to trigger passive type merge.

From-SVN: r30811
1999-12-06 11:56:58 -08:00
Kaveh R. Ghazi
1ebadc609b jcf-dump.c (print_constant, [...]): Don't call a variadic function with a non-literal format string.
* jcf-dump.c (print_constant, disassemble_method): Don't call a
	variadic function with a non-literal format string.

	* parse-scan.y (report_main_declaration): Likewise.

	* parse.h (ERROR_CAST_NEEDED_TO_INTEGRAL): Likewise.

	* parse.y (read_import_dir, patch_assignment, patch_binop,
	patch_array_ref): Likewise.

	* typeck.c (build_java_array_type): Likewise.

	* verify.c (verify_jvm_instructions): Likewise.

From-SVN: r29981
1999-10-14 17:13:57 +00:00
Kaveh R. Ghazi
d593dd8c6a class.c (finish_class): Remove unused parameter, all callers changed.
* class.c (finish_class): Remove unused parameter, all callers
	changed.

	* expr.c (build_java_athrow): Change return type to void.
	(java_lang_expand_expr): Make sure each case in switch returns a
	value.

	* java-tree.h (finish_class): Fix prototype to take void args.

	* jcf-dump.c (usage): Mark with ATTRIBUTE_NORETURN.
	(main): Issue return from main, not exit.

	* jcf-parse.c (parse_class_file): Fix call to `finish_class'.

	* jcf.h (jcf_unexpected_eof): Mark with ATTRIBUTE_NORETURN.

	* jv-scan.c (main): Issue return from main, not exit.

	* parse.y (check_abstract_method_definitions,
	java_check_abstract_method_definitions): Add static prototypes.
	(java_complete_expand_methods): Fix call to `finish_class'.

	* verify.c (verify_jvm_instructions): Initialize variables `oldpc'
	and `prevpc'.

From-SVN: r29065
1999-09-02 21:57:09 +00:00
Jeffrey A Law
5f9ee6953e gjavah.c, [...]: Do not use C++ style comments in C code.
* gjavah.c, jcf-write.c, verify.c: Do not use C++ style
        comments in C code.

From-SVN: r28940
1999-08-27 23:33:02 -06:00
Gregg Townsend
ee5cd6389e verify.c (verify_jvm_instructions): Don't check instruction validity beyond end of method.
Wed Aug 25 15:37:15 1999  Gregg Townsend  <gmt@cs.arizona.edu>

        * verify.c (verify_jvm_instructions): Don't check instruction
        validity beyond end of method.

From-SVN: r28897
1999-08-26 10:00:57 -07:00
Kaveh R. Ghazi
be245ac0a0 gjavah.c (print_name, [...]): Add static prototype.
* gjavah.c (print_name, print_base_classname, utf8_cmp,
	cxx_keyword_subst, generate_access, name_is_method_p,
	get_field_name, print_field_name, super_class_name, print_include,
	decode_signature_piece, print_class_decls, usage, help,
	java_no_argument, version, add_namelet, print_namelet): Add static
	prototype.
	(print_base_classname, utf8_cmp, cxx_keyword_subst,
	name_is_method_p): Constify a char*.
	(get_field_name): Likewise.  Prefer xstrdup over malloc/strcpy.
	Provide a final else clause in an if-else-if.
	(print_field_info): Add missing final arg in function call to
	`print_field_name'.
	(print_method_info, decompile_method, decode_signature_piece,
	print_c_decl, print_full_cxx_name, print_stub,
	print_mangled_classname, super_class_name, print_include,
	add_namelet, add_class_decl, print_class_decls, process_file,
	help): Constify a char*.

	* jcf-write.c (jcf_handler, push_constant1, push_constant2,
	push_int_const, find_constant_wide, find_constant_index,
	push_long_const, field_op, maybe_wide, emit_dup, emit_pop,
	emit_iinc, emit_load_or_store, emit_load, emit_store, emit_unop,
	emit_binop, emit_reloc, emit_switch_reloc, emit_case_reloc,
	emit_if, emit_goto, emit_jsr, call_cleanups,
	make_class_file_name): Add static prototypes.
	(generate_bytecode_return, generate_bytecode_insns): Pass a
	NULL_PTR, not a NULL_TREE.

	* jv-scan.c: Include "jcf.h".
	(main): Declare using DEFUN macro.

	* jvspec.c (find_spec_file, lang_specific_pre_link,
	lang_specific_driver): Add prototypes.
	(find_spec_file): Constify a char*.

	* keyword.gperf (hash, java_keyword): Add prototypes.

	* lang.c (lang_print_error): Add static prototype.
	(lang_init): Prefer memcpy over bcopy to avoid casts.

	* lex.c (yylex): Add static prototype.

	* parse-scan.y: Include "lex.c" earlier.

	* parse.h: Remove redundant declaration for `yylex'.

	* parse.y (java_decl_equiv, binop_compound_p, search_loop,
	labeled_block_contains_loop_p): Add static prototypes.
	(not_accessible_p): Make static to match prototype.

	* verify.c (start_pc_cmp): Don't needlessly cast away const.

From-SVN: r28862
1999-08-25 13:59:28 +00:00
Kaveh R. Ghazi
c8e7d2e632 check-init.c (check_bool2_init, [...]): Add static prototypes.
* check-init.c (check_bool2_init, done_alternative): Add static
	prototypes.

	* class.c (add_interface_do, maybe_layout_super_class): Likewise.
	(add_method, build_utf8_ref, build_class_ref,
	append_gpp_mangled_type, layout_class_method): Constify a char*.

	* decl.c (push_promoted_type, make_binding_level): Add static
	prototypes.
	(push_promoted_type, pushdecl): Constify a char*.

	* except.c (find_handler_in_range, link_handler,
	check_start_handlers): Add static prototypes.

	* expr.c (process_jvm_instruction): Constify a char*.

	* gjavah.c (main): Constify a char*.

	* java-tree.h (verify_jvm_instructions, process_jvm_instruction):
	Constify a char*.

	* jcf-depend.c (free_entry, add_entry, munge, print_ents): Add
	static prototypes.
	(add_entry, jcf_dependency_set_target, jcf_dependency_add_target,
	munge, print_ents): Constify a char*.

	* jcf-dump.c (disassemble_method): Constify a char*.
	(print_constant_pool, print_exception_table): Add static prototypes.
	(print_constant, print_exception_table, main, disassemble_method):
	Constify a char*.

	* jcf-io.c (find_classfile, find_class): Likewise.

	* jcf-parse.c (JPOOL_UTF_DATA, find_in_current_zip): Likewise.
	(set_source_filename, predefined_filename_p): Add static prototypes.
	(set_source_filename, get_constant, get_class_constant,
	find_in_current_zip): Constify a char*.

	* jcf-path.c (free_entry, append_entry, add_entry, add_path): Add
	static prototypes.
	(add_entry, add_path, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jcf-reader.c (get_attribute, jcf_parse_preamble,
	jcf_parse_constant_pool, jcf_parse_class, jcf_parse_fields,
	jcf_parse_one_method, jcf_parse_methods,
	jcf_parse_final_attributes): Add static prototypes.
	(get_attribute): Constify a char*.

	* jcf.h (find_class, find_classfile, jcf_dependency_set_target,
	jcf_dependency_add_target, jcf_path_classpath_arg,
	jcf_path_CLASSPATH_arg, jcf_path_include_arg): Constify a char*.

	* jv-scan.c (main): Constify a char*.
	(gcc_obstack_init): Add prototype arguments.

	* jvgenmain.c (gcc_obstack_init): Likewise.
	(main): Constify a char*.

	* lang.c (put_decl_string, put_decl_node, java_dummy_print): Add
	static prototypes.
	(put_decl_string, lang_print_error): Constify a char*.
	(lang_init): Remove redundant extern prototype.

	* mangle.c (emit_unicode_mangled_name): Constify a char*.

	* typeck.c (convert_ieee_real_to_integer, parse_signature_type):
	Add static prototypes.
	(get_type_from_signature): Constify a char*.

	* verify.c (check_pending_block, type_stack_dup, start_pc_cmp ):
	Add static prototypes.
	(start_pc_cmp): Prefer PTR over GENERIC_PTR.
	(verify_jvm_instructions): Constify a char*.

	* xref.c (xref_flag_value): Likewise.

	* xref.h (xref_flag_value): Likewise.

	* zextract.c (makeword, makelong): Add static prototypes.
	(makeword, makelong): Constify a uch*.

From-SVN: r28648
1999-08-10 16:58:13 +00:00
Kaveh R. Ghazi
cd531a2edd Warning fixes:
* expr.c (build_java_soft_divmod): Provide a default case in switch.
        (java_lang_expand_expr): Mark parameters `target', `tmode' and
        `modifier' with ATTRIBUTE_UNUSED.

        * gjavah.c (process_file): Add braces around ambiguous `else'.

        * jcf-dump.c (print_access_flags, localvar_free): Change return
        type to void.

        * parse.y (java_complete_expand_method): Initialize variable
        `exception_copy'.
        (resolve_qualified_expression_name): Likewise for `field_decl'.
        (patch_method_invocation): Likewise for `class_to_search'.
        (qualify_ambiguous_name): Likewise for `name' and `ptr_type'.
        (patch_assignment): Likewise for `lhs_type'.

        * verify.c (verify_jvm_instructions): Remove unused variable
        `caller'.

From-SVN: r28344
1999-07-30 18:31:34 +00:00
Andrew Haley
45b0aa3189 verify.c (verify_jvm_instructions): Check for pending blocks before invalid PC test and opcode switch, not after.
1999-06-22  Andrew Haley  <aph@cygnus.com>
	* verify.c (verify_jvm_instructions): Check for pending blocks
	before invalid PC test and opcode switch, not after.

From-SVN: r27710
1999-06-22 23:22:13 +00:00
Andrew Haley
44d7502b78 except.c (find_handler_in_range): The upper limit for exception ranges is exclusive, not inclusive...
1999-06-21  Andrew Haley  <aph@cygnus.com>
        * except.c (find_handler_in_range): The upper limit for exception
        ranges is exclusive, not inclusive: (start <= pc < end).
        (link_handler): find child pointer which points to outer by
        searching sibling list: previous code incorrectly assumed that
        outer->outer->first_child must point to outer.
        * verify.c (verify_jvm_instructions): FIXME added to code for
        `athrow'.
        (verify_jvm_instructions): Do not assume that the last block
        processed in a subroutine is a block which ends with a `ret'
        instruction.  With some control flows it is possible that the last
        block ends with an `athrow'.

From-SVN: r27658
1999-06-21 09:18:50 +00:00
Kaveh R. Ghazi
ab3a6dd6e2 Warning fixes:
* class.c (build_utf8_ref): Initialize variable `field'.
        * decl.c (init_decl_processing): Initialize variable `field'.
        * expr.c (build_known_method_ref): Mark parameters `method_type',
        `method_signature' and `arg_list' with ATTRIBUTE_UNUSED.
        (process_jvm_instruction): Likewise for parameter `length'.
        * jvspec.c (lang_specific_driver): Mark variables `saw_math',
        `saw_libc', `saw_gc', `saw_threadlib' and `saw_libgcj' with
        ATTRIBUTE_UNUSED.
        * parse.y (maybe_generate_clinit): Remove unused variable
        `has_non_primitive_fields'.
        (find_in_imports_on_demand): Initialize variables `node_to_use'
        and `cl'.
        (patch_binop): Likewise for variable `prom_type'.
        (patch_unaryop): Likewise for variable `prom_type'.
        * verify.c (verify_jvm_instructions): Likewise for variable `last'.
        * xref.c (xref_table): Add missing initializer.

From-SVN: r27030
1999-05-19 11:30:30 +00:00
Tom Tromey
5a9e5c6fb6 java-except.h (struct eh_range): Removed unused `next' member.
* java-except.h (struct eh_range): Removed unused `next' member.
	* verify.c (verify_jvm_instructions): Call check_nested_ranges
	after adding all exception handlers.  Sort exception ranges in
	order of start PC.
	(struct pc_index): New structure.
	(start_pc_cmp): New function.
	* except.c (add_handler): Return `void'.  Don't call link_handler;
	instead construct an ordinary linked list and do range
	coalescing.
	(check_nested_ranges): New function.
	(link_handler): Changed interface to allow merging of eh_ranges.
	Split overlapping ranges.  Return `void'.

From-SVN: r26995
1999-05-18 15:03:26 +00:00
Per Bothner
fe34cca7a5 Fix thinko.
From-SVN: r26799
1999-05-05 17:33:11 -07:00