diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-02-04 22:44:12 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-02-04 17:44:12 -0500 |
commit | 400500c4a50104969a303ba3c41983b134523e15 (patch) | |
tree | 8141b8180c25362fac62609d1e35c61c9cc898f6 /gcc/java/jcf-parse.c | |
parent | eab4abeb4d4463182fe24fe3ef8a7b40d1a1eec5 (diff) | |
download | gcc-400500c4a50104969a303ba3c41983b134523e15.zip gcc-400500c4a50104969a303ba3c41983b134523e15.tar.gz gcc-400500c4a50104969a303ba3c41983b134523e15.tar.bz2 |
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
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r-- | gcc/java/jcf-parse.c | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index 24eb0a3..7cc1de6 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -240,14 +240,12 @@ parse_signature (jcf, sig_index) JCF *jcf; int sig_index; { - if (sig_index <= 0 || sig_index >= JPOOL_SIZE(jcf) + if (sig_index <= 0 || sig_index >= JPOOL_SIZE (jcf) || JPOOL_TAG (jcf, sig_index) != CONSTANT_Utf8) - fatal ("invalid field/method signature"); + abort (); else - { - return parse_signature_string (JPOOL_UTF_DATA (jcf, sig_index), - JPOOL_UTF_LENGTH (jcf, sig_index)); - } + return parse_signature_string (JPOOL_UTF_DATA (jcf, sig_index), + JPOOL_UTF_LENGTH (jcf, sig_index)); } void @@ -364,7 +362,8 @@ get_constant (jcf, index) { int char_len = UT8_CHAR_LENGTH (*utf8); if (char_len < 0 || char_len > 3 || char_len > i) - fatal ("bad string constant"); + fatal_error ("bad string constant"); + utf8 += char_len; i -= char_len; str_len++; @@ -415,12 +414,12 @@ get_constant (jcf, index) default: goto bad; } - JPOOL_TAG(jcf, index) = tag | CONSTANT_ResolvedFlag; + JPOOL_TAG (jcf, index) = tag | CONSTANT_ResolvedFlag; jcf->cpool.data [index] = (jword) value; return value; bad: - fatal ("bad value constant type %d, index %d", - JPOOL_TAG( jcf, index ), index); + internal_error ("bad value constant type %d, index %d", + JPOOL_TAG (jcf, index), index); } tree @@ -429,8 +428,10 @@ get_name_constant (jcf, index) int index; { tree name = get_constant (jcf, index); + if (TREE_CODE (name) != IDENTIFIER_NODE) - fatal ("bad nameandtype index %d", index); + abort (); + return name; } @@ -479,9 +480,9 @@ give_name_to_class (jcf, i) JCF *jcf; int i; { - if (i <= 0 || i >= JPOOL_SIZE(jcf) + if (i <= 0 || i >= JPOOL_SIZE (jcf) || JPOOL_TAG (jcf, i) != CONSTANT_Class) - fatal ("bad class index %d", i); + abort (); else { tree this_class; @@ -507,9 +508,9 @@ tree get_class_constant (JCF *jcf , int i) { tree type; - if (i <= 0 || i >= JPOOL_SIZE(jcf) + if (i <= 0 || i >= JPOOL_SIZE (jcf) || (JPOOL_TAG (jcf, i) & ~CONSTANT_ResolvedFlag) != CONSTANT_Class) - fatal ("bad class index %d", i); + abort (); if (JPOOL_TAG (jcf, i) != CONSTANT_ResolvedClass) { @@ -517,6 +518,7 @@ get_class_constant (JCF *jcf , int i) /* verify_constant_pool confirmed that name_index is a CONSTANT_Utf8. */ const char *name = JPOOL_UTF_DATA (jcf, name_index); int nlength = JPOOL_UTF_LENGTH (jcf, name_index); + if (name[0] == '[') /* Handle array "classes". */ type = TREE_TYPE (parse_signature_string (name, nlength)); else @@ -614,7 +616,7 @@ load_class (class_or_name, verbose) name = DECL_NAME (TYPE_NAME (class_or_name)); if (read_class (name) == 0 && verbose) - fatal ("Cannot find file for class %s.", IDENTIFIER_POINTER (name)); + error ("Cannot find file for class %s.", IDENTIFIER_POINTER (name)); } /* Parse a source file when JCF refers to a source file. */ @@ -637,12 +639,10 @@ jcf_parse_source () if (!HAS_BEEN_ALREADY_PARSED_P (file)) { if (!(finput = fopen (input_filename, "r"))) - fatal ("input file `%s' just disappeared - jcf_parse_source", - input_filename); + fatal_io_error ("can't reopen %s", input_filename); parse_source_file (file, finput); if (fclose (finput)) - fatal ("can't close input file `%s' stream - jcf_parse_source", - input_filename); + fatal_io_error ("can't close %s", input_filename); } java_pop_parser_context (IS_A_COMMAND_LINE_FILENAME_P (file)); java_parser_context_restore_global (); @@ -658,13 +658,13 @@ jcf_parse (jcf) tree current; if (jcf_parse_preamble (jcf) != 0) - fatal ("Not a valid Java .class file.\n"); + fatal_error ("not a valid Java .class file"); code = jcf_parse_constant_pool (jcf); if (code != 0) - fatal ("error while parsing constant pool"); + fatal_error ("error while parsing constant pool"); code = verify_constant_pool (jcf); if (code > 0) - fatal ("error in constant pool entry #%d\n", code); + fatal_error ("error in constant pool entry #%d\n", code); jcf_parse_class (jcf); if (main_class == NULL_TREE) @@ -689,13 +689,13 @@ jcf_parse (jcf) code = jcf_parse_fields (jcf); if (code != 0) - fatal ("error while parsing fields"); + fatal_error ("error while parsing fields"); code = jcf_parse_methods (jcf); if (code != 0) - fatal ("error while parsing methods"); + fatal_error ("error while parsing methods"); code = jcf_parse_final_attributes (jcf); if (code != 0) - fatal ("error while parsing final attributes"); + fatal_error ("error while parsing final attributes"); /* The fields of class_type_node are already in correct order. */ if (current_class != class_type_node && current_class != object_type_node) @@ -954,14 +954,14 @@ yyparse () /* Close previous descriptor, if any */ if (main_jcf->read_state && fclose (main_jcf->read_state)) - fatal ("failed to close input file `%s' - yyparse", - (main_jcf->filename ? main_jcf->filename : "<unknown>")); + fatal_io_error ("can't close %s", + main_jcf->filename ? main_jcf->filename : "<unknown>"); /* Set jcf up and open a new file */ JCF_ZERO (main_jcf); main_jcf->read_state = fopen (IDENTIFIER_POINTER (name), "rb"); if (main_jcf->read_state == NULL) - pfatal_with_name (IDENTIFIER_POINTER (name)); + fatal_io_error ("can't open %s", IDENTIFIER_POINTER (name)); /* Set new input_filename and finput */ finput = main_jcf->read_state; |