aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/verify.c
AgeCommit message (Collapse)AuthorFilesLines
2003-10-28* approved by aphFrank Ch. Eigler1-3/+0
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-01-18check-init.c: Fix comment typos.Kazu Hirata1-2/+2
* 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-12* All Files: Convert to ISO C style function definitions.Kaveh R. Ghazi1-19/+8
From-SVN: r61218
2003-01-10* class.c, gjavah.c, parse.y, verify.c: Don't use PTR.Kaveh R. Ghazi1-3/+3
From-SVN: r61137
2003-01-09* All Files: Remove PARAMS macro.Kaveh R. Ghazi1-6/+6
From-SVN: r61133
2003-01-01Make-lang.in, [...]: Replace "GNU CC" with "GCC" in the copyright header.Steven Bosscher1-5/+6
* 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
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-0/+2
From-SVN: r60174
2002-11-18buffer.c: Remove unnecessary casts.Jens-Michael Hoffmann1-1/+1
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-09-11For PR java/5794:Jesse Rosenstock1-2/+3
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-05verify.c (verify_jvm_instructions): Allow exception handler inside code that ↵Andrew Haley1-1/+3
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-06-04java-tree.h, [...]: Remove all #if JAVA_USE_HANDLES blocks...Zack Weinberg1-2/+2
* 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
2001-12-16ChangeLog, [...]: Fix spelling errors.Joseph Myers1-2/+2
* 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-03verify.c (subroutine_nesting): New function.Per Bothner1-7/+23
* 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-09-14* verify.c (verify_jvm_instructions): Fix typo.Mark Mitchell1-1/+1
From-SVN: r45586
2001-07-07* verify.c: Don't use // comments.Zack Weinberg1-2/+2
From-SVN: r43840
2001-04-29jcf-io.c (read_zip_member): Cast to long in comparison with signed value.Kaveh R. Ghazi1-1/+1
* 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-26verify.c (verify_jvm_instructions): For field instructions, check that field ↵Per Bothner1-10/+42
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-03-23re PR java/1208 (Gcj can't compile a class file it generates.)Per Bothner1-3/+3
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-15verify.c (verify_jvm_instructions): Better error msgs for dup.Per Bothner1-8/+12
* verify.c (verify_jvm_instructions): Better error msgs for dup. (type_stack_dup): Remove no-longer neded error check. From-SVN: r40529
2001-02-04diagnostic.h (set_internal_error_function): Renamed.Richard Kenner1-5/+5
* 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-01-24class.c (layout_class): Don't lay the superclass out if it's already being ↵Alexandre Petit-Bianco1-0/+1
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-21verify.c (VERIFICATION_ERROR_WITH_INDEX): New macro.Per Bothner1-5/+18
* verify.c (VERIFICATION_ERROR_WITH_INDEX): New macro. (verify_jvm_instructions): Use it, for better error messages on loads. From-SVN: r39171
2001-01-21verify.c (merge_type_state): Stil may have to merge even if LABEL_VERIFIED ↵Per Bothner1-1/+1
(label). * verify.c (merge_type_state): Stil may have to merge even if LABEL_VERIFIED (label). From-SVN: r39170
2001-01-14Various patches to emit better messages on verification errors.Per Bothner1-47/+95
From-SVN: r39019
2000-10-21Warning fixes:Kaveh R. Ghazi1-1/+1
* 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-09-12expr.c (pop_type_0): Return `Object' if trying to merge two interface types.Tom Tromey1-2/+4
* 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-07verify.c (merge_types): Load the types to merge if necessary.Alexandre Petit-Bianco1-0/+14
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-08-15jcf-write.c (generate_bytecode_conditional): Re-installed lost Jan 6 2000 patch.Alexandre Petit-Bianco1-1/+1
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-03-13Added Java 1.1 language features.Alexandre Petit-Bianco1-3/+2
From-SVN: r32517
2000-01-21buffer.h: PROTO -> PARAMS.Kaveh R. Ghazi1-6/+6
* 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
1999-12-06[multiple changes]Alexandre Petit-Bianco1-5/+9
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-10-14jcf-dump.c (print_constant, [...]): Don't call a variadic function with a ↵Kaveh R. Ghazi1-1/+1
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-09-02class.c (finish_class): Remove unused parameter, all callers changed.Kaveh R. Ghazi1-2/+2
* 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-08-27gjavah.c, [...]: Do not use C++ style comments in C code.Jeffrey A Law1-1/+1
* gjavah.c, jcf-write.c, verify.c: Do not use C++ style comments in C code. From-SVN: r28940
1999-08-26verify.c (verify_jvm_instructions): Don't check instruction validity beyond ↵Gregg Townsend1-1/+2
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-25gjavah.c (print_name, [...]): Add static prototype.Kaveh R. Ghazi1-2/+2
* 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-10check-init.c (check_bool2_init, [...]): Add static prototypes.Kaveh R. Ghazi1-3/+6
* 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-07-30Warning fixes:Kaveh R. Ghazi1-1/+0
* 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-06-22verify.c (verify_jvm_instructions): Check for pending blocks before invalid ↵Andrew Haley1-61/+63
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-21except.c (find_handler_in_range): The upper limit for exception ranges is ↵Andrew Haley1-11/+31
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-05-19Warning fixes:Kaveh R. Ghazi1-1/+1
* 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-18java-except.h (struct eh_range): Removed unused `next' member.Tom Tromey1-17/+48
* 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-05Fix thinko.Per Bothner1-1/+1
From-SVN: r26799
1999-05-05verify.c (verify_jvm_instructions): Better error messages.Per Bothner1-2/+7
� * verify.c (verify_jvm_instructions): Better error messages. From-SVN: r26788
1999-04-06expr.c (pop_type_0): New function.Per Bothner1-5/+24
� * expr.c (pop_type_0): New function. (pop_type): Use pop_type_0. * java-tree.h (pop_type_0): New declaration. * verify.c (verify_jvm_instructions): Check return instructions. From-SVN: r26218
1999-03-28Warning fixes:Kaveh R. Ghazi1-2/+0
* class.c (maybe_add_interface): Remove unused variable `interface_binfo'. (make_class_data): Use = for assignment, not ==. Likewise. (emit_register_classes): Remove unused variable `decl'. * lex.c: Fix comment so as not to contain an embedded `/*'. * verify.c (verify_jvm_instructions): Remove unused variable `self_type'. From-SVN: r26046
1999-03-21Makefile.in (jcf-dump.o): Depend on $(CONFIG_H) $(srcdir)/../system.h and ↵Kaveh R. Ghazi1-2/+5
$(JAVA_TREE_H). * Makefile.in (jcf-dump.o): Depend on $(CONFIG_H) $(srcdir)/../system.h and $(JAVA_TREE_H). (jcf-io.o): Depend on $(JAVA_TREE_H). (mangle.o): Likewise. * check-init.c (check_cond_init): Add static prototype. * class.c (build_java_method_type, hashUtf8String, make_field_value, get_dispatch_vector, get_dispatch_table, append_gpp_mangled_type, mangle_static_field): Likewise. (strLengthUtf8): Hide unused definition. (hashUtf8String): Const-ify. (make_field_value): Un-ANSI-fy. * constants.c: Move inclusion of jcf.h above java-tree.h. (set_constant_entry, find_class_or_string_constant, find_name_and_type_constant, get_tag_node, build_constant_data_ref): Add static prototype. * decl.c (push_jvm_slot, builtin_function, lookup_name_current_level): Likewise. (builtin_function): Const-ify. * except.c (expand_start_java_handler, expand_end_java_handler): Add static prototype. * expr.c (flush_quick_stack, push_value, pop_value, java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr, build_java_ret, expand_java_multianewarray, expand_java_arraystore, expand_java_arrayload, expand_java_array_length, build_java_monitor, expand_java_pushc, expand_java_return, expand_java_NEW, expand_java_INSTANCEOF, expand_java_CHECKCAST, expand_iinc, expand_java_binop, note_label, expand_compare, expand_test, expand_cond, expand_java_goto, expand_java_call, expand_java_ret, pop_arguments, expand_invoke, expand_java_field_op, java_push_constant_from_pool): Likewise. (decode_newarray_type, expand_iinc): Un-ANSI-fy. (build_java_arraynull_check): Mark parameters `node' and `type' with ATTRIBUTE_UNUSED. (note_label): Likewise for parameter `current_pc'. (expand_java_call, expand_java_ret): Hide unused definition. * java-tree.h (make_class, build_constants_constructor, java_set_exception_lang_code, pop_labeled_block, emit_handlers, init_outgoing_cpool, register_class, emit_register_classes, java_layout_seen_class_methods): Prototype. (unicode_mangling_length): Const-ify. (append_gpp_mangled_name, append_gpp_mangled_classtype, emit_unicode_mangled_name, format_int, format_uint, jcf_trim_old_input, jcf_print_utf8, jcf_print_char, jcf_print_utf8_replace, open_class): Prototype. * jcf-dump.c: Include "config.h", not <config.h>. Don't include <stdio.h>. Include tree.h/java-tree.h. (utf8_equal_string usage, process_class): Add static prototype. (open_class): Don't prototype this here. (utf8_equal_string): Match arguments to format specifiers. (HANDLE_CODE_ATTRIBUTE, BRANCH, JSR, RET, LOOKUP_SWITCH, TABLE_SWITCH, disassemble_method): Likewise. * jcf-io.c: Include tree.h/java-tree.h. (open_class, find_classfile, jcf_print_utf8, jcf_print_utf8_replace): Const-ify. * jcf-parse.c (parse_zip_file_entries, process_zip_dir, parse_class_file): Add static prototype. (find_in_current_zip): Match definition to existing static prototype. * jcf-write.c: Include jcf.h before tree.h/java-tree.h. (alloc_chunk, append_chunk, append_chunk_copy, gen_jcf_label, finish_jcf_block, define_jcf_label, get_jcf_label_here, put_linenumber, localvar_alloc, localvar_free, get_access_flags, write_chunks, adjust_typed_op, generate_bytecode_conditional, generate_bytecode_return, perform_relocations, init_jcf_state, init_jcf_method, release_jcf_state, generate_classfile): Add static prototype. (emit_unop): Mark parameter `type' with ATTRIBUTE_UNUSED. (make_class_file_name): Const-ify. * jcf.h (find_classfile): Const-ify. * jv-scan.c (reset_report): Remove prototype. * jvgenmain.c: Include jcf.h/tree.h/java-tree.h. (error): Rewrite to allow varargs. * lang.c (lang_f_options): Const-ify. * lex.c (java_parse_escape_sequence): Add static prototype. (java_allocate_new_line): Match definition to existing static prototype. * mangle.c Include tree.h/java-tree.h. (unicode_mangling_length, emit_unicode_mangled_name, append_gpp_mangled_name, append_gpp_mangled_classtype): Const-ify. * parse.h (jdep_code): Remove trailing comma in enumeration. (java_get_line_col): Move prototype outside of !JC1_LITE test. (reset_report): Add prototype. * verify.c (push_pending_label, merge_types): Add static prototypes. * zipfile.h (opendir_in_zip, open_in_zip): Prototype. From-SVN: r25878
1999-03-12Warning fixes:Kaveh R. Ghazi1-1/+0
* constants.c (find_class_or_string_constant): Cast variable `j' to a `jword' when comparing against one. * expr.c (java_lang_expand_expr): Remove unused variables `has_finally_p' and `op0'. * gjavah.c (print_field_info): Cast a value to jint when comparing against one. Likewise for a jlong. (add_namelet): Likewise cast a `sizeof' to an int when comparing against a signed quantity. * jcf-dump.c (print_signature_type): Remove unused variable `digit'. (print_signature): Don't needlessly dereference variable `str' * jcf-reader.c (get_attribute): Mark variables `max_stack' and `max_locals' with ATTRIBUTE_UNUSED. (jcf_parse_class): Likewise for variable `index'. * parse.h (reverse_jdep_list): Remove static prototype. * parse.y (build_jump_to_finally): Remove prototype and definition. (reverse_jdep_list): Add static prototype. * typeck.c (convert_ieee_real_to_integer): Remove unused variables `assignment' and `expr_decl'. * verify.c (verify_jvm_instructions): Remove unused label `bad_ldc'. From-SVN: r25731
1999-02-02Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'.Per Bothner1-0/+2
Optimize: `return (a ? b : c)' as: `if (a) return b; else return c;'. * jcf-write.c (generate_bytecode_return): New function. (generate_bytecode_insns): Use it, for RETURN_EXPR. * jcf-write.c (generate_bytecode_insns): For REAL_CST that is 0 or 1, generate special [fd]const_[01] instructions. * jcf-parse.c (yyparse): Don't emit_register_classes if -fsyntax-only. * verify.c (verify_jvm_instructions): Do INVALIDATE_PC after handling OPCODE_lookupswitch or OPCODE_tableswitch. From-SVN: r24972
1999-01-23Update copyrights for the last patchKaveh Ghazi1-1/+1
From-SVN: r24837