summaryrefslogtreecommitdiffstats
path: root/gcc/java/jcf-write.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 2001-03-22 Alexandre Petit-Bianco <apbianco@redhat.com>apbianco2001-03-231-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | * gcj.texi (Input Options): documented the check for attribute `gnu.gcc.gccj-compiled' and the `-fforce-classes-archive-check' flag. * java-tree.h (flag_force_classes_archive_check): Declared extern. * jcf-parse.c (HANDLE_GCJCOMPILED_ATTRIBUTE): New macro. (jcf_parse): Check for the right classes archive if necessary. * jcf-reader.c (get_attribute): Define `MATCH_ATTRIBUTE' and use it. (jcf_parse_fields): Fixed indentation. * jcf-write.c (append_gcj_attribute): New function. (generate_classfile): Compute the attribute count, invoke `append_gcj_attribute'. * jcf.h (typedef struct JCF): `seen_in_zip' and `java_source' turned into bit fields. New bit field `right_zip.' (JCF_ZERO): Set `right_zip' to zero. * lang-options.h (-fforce-classes-archive-check): Added flag. * lang.c (flag_force_classes_archive_check): New flag. (lang_f_options): New entry `force-classes-archive-check.' Fixes PR java/1213. (http://gcc.gnu.org/ml/gcc-patches/2001-03/msg01662.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40788 138bc75d-0d04-0410-961f-82ee72b054a4
* * jcf-write.c (generate_bytecode_insns): Handle emitting iincbothner2001-03-171-0/+2
| | | | | | | when result is is needed (target is STACK_TARGET). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40585 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic.h (set_internal_error_function): Renamed.kenner2001-02-041-36/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2001-01-241-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39230 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-10-18 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-12-061-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jcf-write.c (OP1): Update `last_bc'. (struct jcf_block): Fixed indentation and typo in comments. New field `last_bc'. (generate_bytecode_insns): Insert `nop' if `jsr' immediately follows `monitorenter'. * parse.y (patch_synchronized_statement): New local `tmp'. Call `patch_string'. Fixes gcj/232. 2000-10-13 Alexandre Petit-Bianco <apbianco@cygnus.com> * check-init.c (check_init): Fixed leading comment. Use LOCAL_FINAL_P. * decl.c (push_jvm_slot): Use MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. (give_name_to_locals): Likewise. (lang_mark_tree): Handle FIELD_DECL. Register `am' and `wfl' fields in lang_decl_var. * java-tree.h (DECL_FUNCTION_SYNTHETIC_CTOR, DECL_FUNCTION_ALL_FINAL_INITIALIZED): New macros. (FIELD_INNER_ACCESS): Removed ugly cast, macro rewritten. (FIELD_INNER_ACCESS_P, DECL_FIELD_FINAL_IUD, DECL_FIELD_FINAL_LIIC, DECL_FIELD_FINAL_IERR, DECL_FIELD_FINAL_WFL): New macros. (LOCAL_FINAL): Rewritten. (LOCAL_FINAL_P, FINAL_VARIABLE_P, CLASS_FINAL_VARIABLE_P MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): New macros. (struct lang_decl): Fixed comments. Added `synthetic_ctor' and `init_final' fields. (struct lang_decl_var): Fixed leading comment. Added `am', `wfl', `final_uid', `final_liic', `final_ierr' and `local_final' fields. (TYPE_HAS_FINAL_VARIABLE): New macro. (struct lang_type): Added `afv' field. * parse.y (check_static_final_variable_assignment_flag): New function. (reset_static_final_variable_assignment_flag): Likewise. (check_final_variable_local_assignment_flag): Likewise. (reset_final_variable_local_assignment_flag): Likewise. (check_final_variable_indirect_assignment): Likewise. (check_final_variable_global_assignment_flag): Likewise. (add_inner_class_fields): Use LOCAL_FINAL_P. (register_fields): Handle local finals and final variables. (craft_constructor): Set DECL_FUNCTION_SYNTHETIC_CTOR. (declare_local_variables): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. (source_start_java_method): Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC on local finals. (java_complete_expand_methods): Loop to set TYPE_HAS_FINAL_VARIABLE. Call `reset_final_variable_local_assignment_flag' and `check_final_variable_local_assignment_flag' accordingly before and after constructor expansion. Call `reset_static_final_variable_assignment_flag' before expanding <clinit> and after call `check_static_final_variable_assignment_flag' if the current_class isn't an interface. After all methods have been expanded, call `check_final_variable_global_assignment_flag' and `check_static_final_variable_assignment_flag' if the current class is an interface. (maybe_yank_clinit): Fixed typo in comment. (build_outer_field_access_methods): Removed old sanity check. Use FIELD_INNER_ACCESS_P. Call MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC. Don't create access methods for finals. (resolve_field_access): Use `CLASS_FINAL_VARIABLE_P'. (java_complete_tree): Likewise. Reset DECL_FIELD_FINAL_IUD if existing DECL_INIT has been processed. (java_complete_lhs): Likewise. (check_final_assignment): Filter input on `lvalue''s TREE_CODE. Test for COMPONENT_REF to get to the FIELD_DECL. Implemented new logic. (patch_assignment): Use LOCAL_FINAL_P. (fold_constant_for_init): Reset DECL_FIELD_FINAL_IUD if DECL_INITIAL is nullified. Fixes gcj/163. 2000-10-09 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (pop_current_osb): New function. (array_type:): Use `dims:', changed actions accordingly. Suggested by Anthony Green. (array_creation_expression:): Used pop_current_osb. (cast_expression:): Likewise. (search_applicable_method_list): Fixed indentation. 2000-10-08 Anthony Green <green@redhat.com> * parse.y (array_type_literal): Remove production. (type_literals): Refer to array_type, not array_type_literal. (http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00317.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38070 138bc75d-0d04-0410-961f-82ee72b054a4
* * Make-lang.in (JAVA_SRCS): Include java-tree.h.mmitchel2000-09-231-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (parse.o): Depend on ggc.h. (class.o): Likewise. (constants.o): Likewise. (decl.o): Likewise. (expr.o): Likewise. (jcf-parse.o): Likewise. (jcf-write.o): Likewise. (mangle.o): Likewise. * class.c: Include ggc.h. (build_static_field_ref): Register GC roots. (layout_class): Likewise. (init_class_processing): Likewise. * constants.c: Include ggc.h. (current_constant_pool_data_ref): Remove. (tag_nodes): Move it to ... (get_tag_node): ... here. Register GC roots. * decl.c: Include ggc.h. Remove many global tree definitions. (throw_node): Define. (java_global_trees): Likewise. (predef_filenames): Make the size a constant. (init_decl_processing): Adjust accordingly. (init_decl_processing): Call init_jcf_parse. Register GC roots. * expr.c: Include ggc.h. (init_expr_processing): Register GC roots. (build_invokeinterface): Likewise. * java-tree.h: Replace extern tree declarations with macros. (java_global_trees): New variable. (java_tree_index): New enumeration. (init_jcf_parse): Declare. * jcf-parse.c: Include ggc.h. (current_class): Remove declaration. (main_class): Likewise. (all_class_list): Likewise. (predefined_filename_p): Adjust for constant size of predef_filenames. (init_jcf_parse): New function. * jcf-write.c: Include ggc.h. (generate_classfile): Register GC roots. (append_synthetic_attribute): Likewise. (append_innerclass_attribute_entry): Likewise. * lang.c: Include ggc.h. (lang_print_error): Register GC roots. * parse.h (struct parser_ctxt): Rename fields to avoid conflicts with macros. * parse.y: Include ggc.h. (wfl_operator): Remove. (goal): Register GC roots. (java_pop_parser_context): Adjust for new field names. (java_parser_context_save_global): Likewse. (java_parser_context_restore_global): Likewise. (java_parser_context_suspend): Likewise. (java_parser_context_resume): Likewise. (verify_constructor_circularity): Register GC roots. (lookup_cl): Likewise. (java_reorder_fields): Likewise. (build_current_this): Likewise. (class_in_current_package): Likewise. (argument_types_convertible): Likewise. (patch_cast): Rename wfl_op parameter to avoid macro conflicts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36581 138bc75d-0d04-0410-961f-82ee72b054a4
* top level:zack2000-08-291-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (declare_function_name): Use func_id_node, function_id_node, and pretty_function_id_node. Do not make __func__ visible at file scope. * c-common.h (c_tree_index): Add CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID. (function_id_node, pretty_function_id_node, func_id_node): New macros. * c-decl.c (init_decl_processing): Initialize function_id_node, pretty_function_id_node, and func_id_node. (c_make_fname_decl): Correct comment. * tree.h (struct tree_identifier): Constify pointer member. * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *. * c-pragma.h (struct weak_syms): Constify name and value members. (add_weak): Constify arguments. * calls.c (special_function_p): Constify a char *. (expand_call): Remove variable which is initialized and then never used. * dependence.c (struct def_use, struct induction, struct subscript): Constify 'variable' member. (get_low_bound, have_induction_variable): Constify char * argument. (find_induction_variable): Add braces to avoid dangling else. (classify_dependence): Constify char * arrays. * profile.c (output_func_start_profiler): Constify a char *. * stor-layout.c (finalize_record_size): Constify a char *. * tree.c (is_attribute_p): Constify a char *. * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument. * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code for comprehensibility. Do not call get_identifier if we did not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to create temporary string constants, not ggc_alloc_string. No need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const char * to hold IDENTIFIER_POINTERs. ch: * inout.c (add_enum_to_list): Use DECL_NAME directly, don't get its IDENTIFIER_POINTER and immediately call get_identifier on it. * lex.c (yywrap): Constify a char *. cp: * class.c (build_secondary_vtable): Constify a char *. * decl.c (init_decl_processing): Initialize function_id_node, pretty_function_id_node, and func_id_node. * input.c (struct input_source): Constify 'str'. (feed_input): Constify first argument. * mangle.c (write_identifier): Constify argument. * pt.c (mangle_class_name_for_template): Constify argument. f: * ansify.c: Use #line, not # <number>. java: * jcf-parse.c (set_source_filename): Constify a char *. * jcf-write.c (append_innerclasses_attribute, make_class_file_name): Constify a char *. Don't recycle a variable for an unrelated purpose. * parse.y: (build_alias_initializer_parameter_list): Constify a char *. (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36055 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-08-161-1/+4
| | | | | | | | | | | | | | * 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) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35733 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-08-10 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-08-111-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * class.c (maybe_layout_super_class): Fixed indentation. * java-tree.h (CLASS_METHOD_CHECKED_P): New macro. (java_check_methods): New function declaration. * jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str' instead of `str_ptr'. * jcf-write.c (generate_bytecode_insns): Emit number the of args of a `invokeinterface' at the right time. * parse.h (WFL_STRIP_BRACKET): New macro. (SET_TYPE_FOR_RESOLUTION): Use it. * parse.y (build_unresolved_array_type): Reuse `type_or_wfl.' (check_class_interface_creation): Don't check for cross package innerclass name clashes. (method_header): Behave properly if MDECL is `error_mark_node.' (method_declarator): Return `error_mark_node' if bogus current class. (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary. (resolve_and_layout): New local `decl_type', set and used. Call java_check_methods. (java_check_methods): New method. (java_layout_classes): Use it. (resolve_qualified_expression_name): No EH check necessary in access$<n>. (java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating `case' statement. (patch_assignment): Set DECL_INITIAL on integral final local. (http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00516.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35644 138bc75d-0d04-0410-961f-82ee72b054a4
* Reverting incorrectly applied changetromey2000-07-131-22/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35021 138bc75d-0d04-0410-961f-82ee72b054a4
* * lang-specs.h: Added %{I*}.tromey2000-07-131-2/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35018 138bc75d-0d04-0410-961f-82ee72b054a4
* Fixing a really lame patch. Sorry for the ChangeLog tweaking.)apbianco2000-07-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34954 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-07-081-1/+2
| | | | | | | | | * parse.y (generate_classfile): Exclude null strings. (http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34923 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-07-081-2/+5
| | | | | | | | | | | | | * jcf-write.c (generate_classfile): Properly install the ConstantValue attribute and the initial value constant pool index on string constants. * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting class files. (http://gcc.gnu.org/ml/gcc-patches/2000-07/msg00233.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34921 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-06-301-1/+1
| | | | | | | | * jcf-write.c (push_long_const): Appropriately cast short negative constant to jword. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34802 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-06-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'. 2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage screened by DECL_P. * java-tree.def (CASE_EXPR): Marked 'e'. (DEFAULT_EXPR): Likewise. * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage screened by DECL_P. * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for Java specific checks. (generate_bytecode_insns): Test try_block for BLOCK before using BLOCK_EXPR_BODY. * parse.y (build_wfl_wrap): Added `location' argument. Set EXPR_WFL_LINECOL accordingly. (dim_expr:): Wrap constants with WFLs. (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC. (resolve_package): Check for `stmt' not being a BLOCK before building a debuggable statement with it. (make_qualified_primary): Added extra parameter to build_wfl_wrap invocation. (resolve_field_access): Make sure `decl' is a DECL before treating it as such. (maybe_build_primttype_type_ref): Make sure `wfl''s node is an IDENTIFIER_NODE before treating it as such. (patch_new_array_init): Make sure `elt' is a TREE_LIST before treating it as such. (find_applicable_accessible_methods_list): CLASS_INTERFACE macro to be applied only on non array types. 2000-06-16 Per Bothner <per@bothner.com> * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't define in terms of DECL_RESULT, as that fails when --enable-checking. 2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries. * parse.y (find_in_imports): Returned type changed to void, leading comment fixed. (register_package): New function. (qualify_and_find): Likewise. (package_declaration:): Use `register_package'. (single_type_import_declaration:): Removed local variable `node'. Added missing `;' for consistency. (type_import_on_demand_declaration:): Use `chainon' to link new entries. (lookup_field_wrapper): Lookup local variables defined in outer contexts first. (java_complete_class): Don't reverse the list of imported on demand. (do_resolve_class): Reorganized. Removed local variable `original_name'. Call `qualify_and_find' with the current package name, invoke `find_in_imports_on_demand' right after. Call `qualify_and_find' with the packages we've seen so far. Fixed operations numbering in comments. (java_expand_class): Don't reverse `package_list'. (find_most_specific_methods_list): New local variables `abstract' and `candidates'. Use them to pick the right method. (Fixes for the ENABLE_TREE_CHECKING Java run-time build problem: http://gcc.gnu.org/ml/gcc-patches/2000-06/msg00551.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34642 138bc75d-0d04-0410-961f-82ee72b054a4
* * jcf-write.c (CHECK_PUT): Add static prototype. Make pointerghazi2000-06-151-4/+8
| | | | | | | | types the same in comparison. (CHECK_OP): Add static prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34566 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi2000-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bb-reorder.c (build_scope_forest): Initialize variable `curr_scope'. * calls.c (expand_call): Likewise for variables `save_pending_stack_adjust' and `save_stack_pointer_delta'. * i386.c (function_arg_advance, function_arg): Cast to avoid signed/unsigned warnings. * i386.h (MEMORY_MOVE_COST): Likewise. * ifcvt.c (cond_exec_process_if_block): Initialize variables `else_start' and `else_end'. * libgcc2.h (__eh_alloc, __eh_free): Prototype. * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. ch: * Makefile.in (EXPR_H): New dependency variable. (actions.o, expr.o): Use EXPR_H. (lang.o): Depend on RTL_H and EXPR_H. * lang.c: Include rtl.h and expr.h. (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. cp: * decl2.c (compare_options): Don't needlessly cast away const-ness. f: * com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. java: * decl.c (create_primitive_vtable): Prototype. * jcf-write.c (generate_bytecode_insns): Initialize variable `saved_context'. * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34490 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-06-011-2/+11
| | | | | | | | | | | * jcf-write.c (generate_bytecode_insns): At invokation time, always relate an interface method to the type of its selector. (Fix to the PR #71: http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00040.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34330 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br>tromey2000-05-191-1/+1
| | | | | | | | * jcf-write.c (generate_classfile): Scan the source_file for slashes with the right pointer variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34006 138bc75d-0d04-0410-961f-82ee72b054a4
* top level:zack2000-05-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. (tree.o): Depend on output.h. * c-decl.c (pending_invalid_xref_file, current_function_prototype_file): Constify. (pushdecl): Constify a local char *. (define_label): Constify filename parameter. * c-lex.c (init_parse): Constify parameter and return value. * c-typeck.c (c_expand_asm_operands): Constify filename parameter. * c-tree.h: Update prototypes. * c-parse.in: Constify filename member of %union, and if_stmt_file. * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, objc/objc-parse.c: Regenerate. * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. * dwarfout.h: Update prototypes. * expr.c (expand_expr): Constify a local char *. * flags.h: Constify main_input_filename. * function.c (expand_function_end): Constify filename parameter. * genrecog.c (make_insn_sequence): Use a character array for c_test_pos. (main): Remove unused variables. * input.h: Constify input_filename, main_input_filename, and file_stack.name. Update prototypes. * output.h: Declare first_global_object_name and weak_global_object_name here, as const char *. * stmt.c (expand_asm_operands): Constify filename parameter. * toplev.c (compile_file, push_srcloc, debug_start_source_file): Constify filename parameter. (input_filename, main_input_filename): Constify. * toplev.h: Update prototypes. * tree.c: Include output.h. Don't declare first_global_object_name or weak_global_object_name. Clean up string bashing in get_file_function_name_long. * tree.h (struct tree_decl): Constify filename member. (input_filename): Constify. Update prototypes. * varasm.c (first_global_object_name, weak_global_object_name): Constify. (assemble_start_function, assemble_variable): Clean up string bashing. * gcc.c: Constify all spec-related strings initialized, transitively, from string constants. Constify all strings and string variables related to multilibs. (set_spec, read_specs): Cast argument to free to PTR. (used_arg): Do not modify multilib_matches. Use strncmp plus length comparison to compare multilib switches. * genmultilib: Constify everything declared in multilib.h. ch: * ch-tree.h: Update prototypes. Remove prototypes for functions declared elsewhere. * decl.c (define_label): Constify filename parameter. * grant.c (globalize_decl, set_default_grant_file): Constify local char * variables. Don't declare first_global_object_name or asm_out_file. * lang.c (chill_real_input_filename): Constify. * lex.c (init_parse): Constify parameter and return value. * parse.c: Don't declare input_filename. (ch_expand_asm_operands): Constify filename parameter. (parse_multi_dimension_case_action): Constify local char *. * satisfy.c (safe_satisfy_decl): Constify local char *. cp: * cp-tree.h: Constify tree_srcloc.filename, tinst_level.file, and pending_inline.filename. Update prototypes. * decl.c (define_label): Constify filename parameter. * decl2.c (warn_if_unknown_interface): Constify local char *. * input.c Constify input_source.filename. Don't declare input_filename or lineno. Constify filename parameter to feed_input. * lex.c (init_parse): Constify parameter and return value. (cp_pragma_interface, cp_pragma_implementation): Constify filename argument. (reinit_parse_for_method, reinit_parse_for_block, reinit_parse_for_expr, feed_defarg, handle_cp_pragma): Constify local char *. * pt.c: Don't declare lineno or input_filename. (print_template_context, tsubst_friend_function, tsubst_decl, tsubst, instantiate_decl): Constify local char *. * semantics.c (expand_body): Constify local char *. * tree.c (build_srcloc): Constify filename parameter. * typeck.c (c_expand_asm_operands): Constify filename parameter. f: * com.c (ffecom_subscript_check_): Constify array_name parameter. Clean up string bashing. (ffecom_arrayref_, ffecom_char_args_x_): Constify array_name parameter. (ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_, ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify local char *. (init_parse): Constify parameter and return value. * lex.c: Include dwarfout.h instead of prototyping dwarfout_* functions here. (ffelex_file_pop_, ffelex_file_push_): Constify filename parameter. (ffelex_hash_, ffelex_include_): Constify local char *. * std.c (ffestd_exec_end): Constify local char *. * where.c (ffewhere_file_new): Constify filename parameter. * where.h: Update prototypes. java: * check_init.c (check_init): Constify local char *. * class.c (push_class): Constify local char *. * java_tree.h: Update prototypes. * jcf-io.c (open_class): Constify filename parameter and return value. (find_class): Remove redundant string copy. Cast return from open_class. * jcf-parse.c (read_class, parse_class_file, yyparse): Constify local char *. * jcf-write.c (generate_bytecode_insns, generate_classfile): Constify local char *. * jcf.h (JCF): Constify filename and classname. (JCF_FINISH): Cast args to FREE to char * when appropriate. * lang.c (init_parse): Constify parameter and return value. * lex.c (java_get_line_col): Constify filename parameter. * parse.h: Constify parser_ctxt.filename. Update prototypes. * parse.y (java_parser_context_suspend, issue_warning_error_from_context, safe_layout_class): Constify local char *. * parse.c: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33804 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-03-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse-scan.y (pop_class_context): Reset `inner_qualifier_length' to 0 when it reaches -1. 2000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (get_constant): Properly cast `num' during the invocation of `add_double call'. * jcf-write.c (push_long_const): Properly cast `lo' before comparing it to short bounds. * parse-scan.y (interface_declaration:): Rule re-arrange so that `interface_body:' is reduced after the current interface is pushed. 2000-02-28 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse-scan.y (inner_qualifier, inner_qualifier_length): New static globals. (push_class_context, pop_class_context): New function. (class_body:): Call pop_class_context. (interface_body:): Likewise. (INNER_QUALIFIER): New macro. (report_class_declaration): Changed output format and use INNER_QUALIFIER. Call push_class_context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32779 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-03-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.y (check_abstract_method_definitions): New local `end_type_reached'. Make sure we also consider `end_type'. (java_check_abstract_method_definitions): Make sure we also eventually consider `java.lang.Object'. (maybe_use_access_method): Don't use access method if not a pure inner class or if the method's context is right. (find_applicable_accessible_methods_list): New static `object_done'. Don't search abstract classes as interfaces. Fixed indentation. Fixed the `java.lang.Object' only search. Search class' interface(s) first, fully search enclosing contexts. (find_most_specific_methods_list): Pick closest candidates when they're all abstract. 2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (check_method_types_complete): New function. (create_class): Reset anonymous class counter only when seeing an non inner classe. (java_complete_class): JDEP_METHOD: Don't recompute signature if incomplete. 2000-03-17 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (build_static_ref): Fixed indentation in comment. * java-tree.def (TRY_EXPR): Fixed typo in name. (CLASS_LITERAL): Likewise. * java-tree.h: (TYPE_DOT_CLASS): New macro. (struct lang_type): New field `dot_class'. * jcf-write.c (generate_bytecode_insns): Fixed error message. (generate_classfile): Method `class$' is synthetic. * parse.y (build_do_class_method): New function. (build_dot_class_method_invocation): Likewise. (java_complete_expand_methods): Expand TYPE_DOT_CLASS if necessary. (resolve_qualified_expression_name): Handle CLASS_LITERAL. (qualify_ambiguous_name): Likewise. (patch_incomplete_class_ref): Invoke synthetic method if necessary. (build_try_statement): Fixed leading comment. 2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Disregard anonymous classes. * parse.y (patch_method_invocation): Handle anonymous classes creation in static context. 2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.h (INNER_ENCLOSING_SCOPE_CHECK): New macro. * parse.y (resolve_qualified_expression_name): Use it. (patch_method_invocation): Likewise. 2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (register_incomplete_type): JDEP_ENCLOSING set depending on the type of dependency which dictates what the current class is. (unresolved_type_p): Resolved types limited to the current class. (For details, see: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00790.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32701 138bc75d-0d04-0410-961f-82ee72b054a4
* Mon Mar 20 08:58:51 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-03-221-3/+4
| | | | | | | | | | | * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: properly initialize `finished_label.' Don't emit gotos for empty try statements. (Minor fix: http://gcc.gnu.org/ml/gcc-patches/2000-03/msg00762.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32690 138bc75d-0d04-0410-961f-82ee72b054a4
* Added Java 1.1 language features.apbianco2000-03-141-15/+155
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32517 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Feb 25 18:47:25 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-02-261-1/+5
| | | | | | | | | * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: initialize locals to avoid warnings. Local `exception_type' moved into if statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32161 138bc75d-0d04-0410-961f-82ee72b054a4
* Thu Feb 17 14:30:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-02-211-16/+37
| | | | | | | | | | | | | * jcf-write.c (generate_bytecode_insns): Don't generate empty `finally' clauses. Thu Feb 17 13:20:58 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (load_class): Call `fatal' if no file containing the target class are found. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32095 138bc75d-0d04-0410-961f-82ee72b054a4
* * jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE togreen2000-01-311-1/+1
| | | | | | | determine how many stack slots to pop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31709 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-01-29 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-01-291-1/+3
| | | | | | | | | | | | | | * parse.y (formal_parameter:): Set `$$' to NULL_TREE for better error handling/recovery. * java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment. Wed Jan 12 20:20:11 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): binop: Change the type of the shift value to int. Fixed typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31695 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-01-27 Andrew Haley <aph@cygnus.com>aph2000-01-271-0/+3
| | | | | | | | | * jcf-write.c (emit_goto): RESERVE 3 bytes for insn. (emit_if): Ditto. (emit_jsr): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31647 138bc75d-0d04-0410-961f-82ee72b054a4
* * buffer.h: PROTO -> PARAMS.ghazi2000-01-211-49/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31550 138bc75d-0d04-0410-961f-82ee72b054a4
* 2000-01-11 Mumit Khan <khan@xraylith.wisc.edu>khan2000-01-121-4/+0
| | | | | | | | | | * jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros. * jcf-write.c: Likewise. * parse.y: Likewise. * parse.c: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31344 138bc75d-0d04-0410-961f-82ee72b054a4
* * jcf-write.c (generate_bytecode_insns): Emit invokeinterfacegreen2000-01-101-5/+5
| | | | | | | bytecodes in the correct order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31301 138bc75d-0d04-0410-961f-82ee72b054a4
* Thu Jan 6 00:54:10 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco2000-01-071-2/+7
| | | | | | | | | | | | | | | * jcf-write.c (generate_byecode_conditional): Fixed indentation in method invocation and typo in conditional expression. (generate_bytecode_insns): COND_EXPR can be part of a binop. Issue the appropriate NOTE_POP. * parse.y (patch_binop): Shift value mask to feature the right type. (This is a fix for the PR #122: http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00000.html) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31277 138bc75d-0d04-0410-961f-82ee72b054a4
* 1999-11-17 Andrew Haley <aph@cygnus.com>aph1999-12-101-1/+2
| | | | | | | | | | | * parse.h (BUILD_THROW): Add support for sjlj-exceptions. decl.c (init_decl_processing): Add _Jv_Sjlj_Throw. expr.c (build_java_athrow): Add support for sjlj-exceptions. java-tree.h: Ditto. jcf-write.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30859 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Nov 30 12:28:34 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco1999-12-061-3/+4
| | | | | | | | | | | | | * jcf-write.c (generate_byecode_insns): Fixed indentation for COMPOUND_EXPR and FIX_TRUNC_EXPR cases. * parse.y (patch_assignment): Removed bogus final class test on lhs when checking on whether to emit an ArrayStoreException runtime check. * expr.c (expand_java_arraystore): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30806 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix thinko in last change.law1999-10-131-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29955 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Oct 12 22:28:10 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco1999-10-131-1/+1
| | | | | | | * (RELOCATION_VALUE_1): Fixed integer value from 0 to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29933 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Sep 14 16:24:19 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>apbianco1999-10-131-18/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | * jcf-write.c: (RELOCATION_VALUE_0): New macro. (RELOCATION_VALUE_1): Likewise. (emit_iinc, emit_reloc, push_constant1, push_constant2, push_in_const, push_long_const): Prototyped. (push_constant1): Argument `index' is of type HOST_WIDE_INT. (push_constant2): Likewise. (push_int_const): Cast find_constant1's integer arguments to `jword'. (find_constant_wide): Cast find_constant2's integer arguments to `jword'. (find_constant_index): Cast find_constant2's and find_constant2's integer arguments to `jword'. (emit_pop): Argument `value' is of type HOST_WIDE_INT. (emit_switch_reloc): Use RELOCATION_VALUE_0. (emit_if): Use RELOCATION_VALUE_1. (emit_goto): Likewise. (emit_jsr): Likewise. (generate_bytecode_insns): Use RELOCATION_VALUE_0. Cast second argument to push_long_const to HOST_WIDE_INT. (This is a forgotten patch.) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29932 138bc75d-0d04-0410-961f-82ee72b054a4
* During class file generation, generate_classfile occasionally writesgreen1999-10-071-6/+13
| | | | | | | | | | | out a bunch of data and then skips backwards to fill in blanks. When configured with --enable-checking, this patching up will often trip the checking code. This change introduces UNSAFE_PUTx macros which never use CHECK_PUT. These should only be used in cases we know CHECK_PUT will fail. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29854 138bc75d-0d04-0410-961f-82ee72b054a4
* * gjavah.c, jcf-write.c, verify.c: Do not use C++ stylelaw1999-08-281-3/+3
| | | | | | | comments in C code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28940 138bc75d-0d04-0410-961f-82ee72b054a4
* * gjavah.c (print_name, print_base_classname, utf8_cmp,ghazi1999-08-251-4/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28862 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1999-07-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * 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'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28344 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (jcf-dump.o): Depend on $(CONFIG_H)ghazi1999-03-211-23/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $(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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25878 138bc75d-0d04-0410-961f-82ee72b054a4
* abothner1999-03-151-1/+3
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25783 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1999-03-101-0/+7
| | | | | | | * jcf-write.c (generate_bytecode_insns): Handle __builtin_fmod, for %. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25682 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1999-02-211-1/+20
| | | | | | | | | | | | | | | | | | | * decl.c (build_result_decl), java-tree.h: New method. (complete_start_java_method): Handle synchronized methods. Don't build DECL_RESULT here. (Ordering dependency problem.) (start_java_method): Call build_result_decl here instead ... * parse.y (java_complete_expand_method): ... and here. (expand_start_java_method): Don't call complete_start_java_method here. (java_complete_expand_method): Call it here instead. * parse.h (BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Moved to .. * java-tree.h: ... here. * expr.c (force_evaluation_order): Fix typo, don't handle ARRAY_REF. * parse.y (java_complete_lhs): Don't call force_evaluation_order for ARRAY_REF - it doesn't work when array bounds are checked. (patch_array_ref): Handle it here instead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25345 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1999-02-191-41/+54
| | | | | | | Use new TRY_FINALLY_EXPR tree node. See ChangeLog. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25314 138bc75d-0d04-0410-961f-82ee72b054a4
* abothner1999-02-021-46/+93
| | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24971 138bc75d-0d04-0410-961f-82ee72b054a4
* bothner1999-02-021-2/+5
| | | | | | | | | | | | * jcf-write.c (localvar_alloc): Only emit entry for LocalVariableTable if debug_info_level > DINFO_LEVEL_TERSE. (generate_bytecode_insns): Only call put_linenumber if debug_info_level > DINFO_LEVEL_NONE. * jvspec.c (lang_specific_driver): If no -O* or -g* option is specified, add -g1 (for compatibility wih javac). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24963 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud