Skip to content
Snippets Groups Projects
  1. Dec 17, 2004
    • Andrew Haley's avatar
      re PR java/18931 (Java bytecode ICE in except.c remove_unreachable_regions) · cd5fcd33
      Andrew Haley authored
      2004-12-17  Andrew Haley  <aph@redhat.com>
      
              PR java/18931
              * typeck.c (convert): Use a CONVERT_EXPR when converting to
              BOOLEAN_TYPE or CHAR_TYPE.
              (convert_to_boolean, convert_to_char) : Remove.
              * convert.h (convert_to_boolean, convert_to_char) : Remove.
              * expr.c (expand_load_internal): Do type conversion if type is not
              as required.
      
      From-SVN: r92314
      cd5fcd33
  2. Nov 28, 2004
  3. Nov 27, 2004
  4. Nov 26, 2004
    • Andrew Pinski's avatar
      re PR java/18305 (Class initialization optimization is not done when compiled from .class) · 532815a7
      Andrew Pinski authored
      2004-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR java/18305
              * decl.c (end_java_method): Call
              attach_init_test_initialization_flags on all the init_decls.
              * parse.y (attach_init_test_initialization_flags): Move to ...
              * expr.c (attach_init_test_initialization_flags): here and
              support BIND_EXPR also.
              * java-tree.h (attach_init_test_initialization_flags): Prototype.
              * jcf-parse.c (parse_class_file): Don't disable class init
              optimization.
      
      From-SVN: r91343
      532815a7
  5. Nov 25, 2004
  6. Nov 09, 2004
    • Andrew Pinski's avatar
      re PR java/15576 (Class initialization optimization is disabled) · 6571838f
      Andrew Pinski authored
      2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR java/15576
              * check-init.c (check_init): Ignore DECL_EXPR.
              * expr.c (always_initialize_class_p): Reenable.
              (build_class_init): Use a variable to store the decl.  Also use
              boolean_false_node instead of integer_zero_node.
              * parse.y (attach_init_test_initialization_flags): Add a decl_expr
              to the block.
      
      From-SVN: r90343
      6571838f
  7. Oct 16, 2004
  8. Oct 15, 2004
    • Ranjit Mathew's avatar
      parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and rename... · a1402da3
      Ranjit Mathew authored
      parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and rename parameter 'msg' to 'msgid' in function...
      
      	* parse.y (parse_warning_context): Remove ATTRIBUTE_PRINTF_2 and
      	rename parameter 'msg' to 'msgid' in function declaration.
      	(issue_warning_error_from_context): Likewise.
      	(yyerror): Rename parameter 'msg' to 'msgid'.
      	(all over): Use new quoting style for diagnostics.
      
      	* check-init.c: Use %<, %> and %q for quoting in diagnostics,
      	if possible, else convert `foo' to 'foo'.
      	* class.c: Likewise.
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* lang.c: Likewise.
      	* lex.c: Likewise.
      	* parse.h: Likewise.
      
      From-SVN: r89110
      a1402da3
  9. Sep 30, 2004
    • Per Bothner's avatar
      More cleanup for --enable-mapped-location. · 6744f400
      Per Bothner authored
      	* class.c (push_class):  If USE_MAPPED_LOCATION don't set
      	input_location here.  Instead do it in give_name_to_class.
      	(build_class_ref):  Set DECL_ARTIFICIAL, for the sake of dwarf2out.
      	* expr.c (expand_byte_code): Call linemap_line_start.
      	* expr.c (build_expr_wfl):  If USE_MAPPED_LOCATION, change final
      	parameters to a source_location.  Don't need EXPR_WFL_FILENAME_NODE.
      	(expr_add_location):  New function, if USE_MAPPED_LOCATION.
      	* class.c (maybe_layout_super_class):  Adjust build_expr_wfl call
      	to USE_MAPPED_LOCATION case.
      
      From-SVN: r88365
      6744f400
  10. Sep 25, 2004
  11. Sep 24, 2004
  12. Aug 25, 2004
    • Nathan Sidwell's avatar
      tree.h (build_int_cst): New, sign extended constant. · 7d60be94
      Nathan Sidwell authored
      	* tree.h  (build_int_cst): New, sign extended constant.
      	(build_int_cstu): New, zero extended constant.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	* tree.c (build_int_cst, build_int_cstu): New.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Adjust build_int_cst calls.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_classify_type,
      	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
      	fold_builtin_toascii, fold_builtin_isdigit,
      	simplify_builtin_strstr, simplify_builtin_strpbrk,
      	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
      	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
      	DEF_ATTR_INT): Likewise.
      	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
      	Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	convert.c (convert_to_pointer): Likewise.
      	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
      	build_gcov_info): Likewise.
      	* except.c (init_eh, assign_filter_values): Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const, round_up,
      	round_down): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
      	Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
      	canonicalize_loop_induction_variables): Likewise.
      	* tree-vectorizer.c (vect_create_index_for_array_ref,
      	vect_transform_loop_bound, vect_compute_data_ref_alignment):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
      	alpha_gimplify_va_arg_1): Likewise.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Likewise.
      
      2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cfglayout.c (duplicate_insn_chain): Remove references to
      	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
      	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
      	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
      	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
      	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
      	check_dbra_loop, loop_dump_aux): Remove references to removed notes
      	and fields.
      	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
      	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
      	references to removed notes and fields.
      	(subtract_reg_term, ujump_to_loop_cont): Remove.
      
      From-SVN: r86544
      7d60be94
  13. Aug 20, 2004
  14. Aug 15, 2004
    • Nathan Sidwell's avatar
      tree.h (build_int_cst): New. · 4a90aeeb
      Nathan Sidwell authored
      .:	* tree.h (build_int_cst): New.
      	(build_int_2): Remove.
      	* tree.c (build_int_2): Remove.
      	(build_int_cst): New.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Use build_int_cst.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
      	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
      	fold_builtin_isdigit, simplify_builtin_strstr,
      	simplify_builtin_strpbrk, fold_builtin_fputs,
      	simplify_builtin_sprintf): Use build_int_cst.
      	* c-common.c (start_fname_decls, fix_string_type,
      	c_common_nodes_and_builtins, c_init_attributes,
      	shorten_compare): Likewise.
      	* c-decl.c (complete_array_type,
      	check_bitfield_type_and_width): Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	* convert.c (convert_to_pointer): Likewise.
      	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_ctr_info_value, build_gcov_info):
      	Likewise.
      	* except.c (init_eh, assign_filter_values, assign_filter_values):
      	Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_end_case_type,
      	estimate_case_costs): Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline,
      	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/i860/i860.c (i860_va_start): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Use build_int_cst.
      ada:
      	* cuintp.c (UI_To_gnu): Use build_int_cst..
      	* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
      	* utils.c (init_gigi_decls): Likewise.
      	* utils2.c (build_call_raise): Likewise.
      cp:
      	* call.c (convert_class_to_reference,
      	build_user_type_conversion_1, convert_like_real,
      	build_java_interface_fn_ref, build_special_member_call): Use
      	build_int_cst.
      	* class.c (build_vtbl_initializer): Likewise.
      	* cp-gimplify.c (cp_gimplify_expr): Likewise.
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
      	* decl2.c (start_static_initialization_or_destruction,
      	generate_ctor_or_dtor_function): Likewise.
      	* except.c (build_throw): Likewise.
      	* lex.c (cxx_init): Likewise.
      	* mangle.c (write_integer_cst): Likewise.
      	* rtti.c (build_headof, get_tinfo_decl_dynamic,
      	build_dynamic_cast_1, ptr_initializer, ptm_initializer,
      	get_pseudo_ti_init): Likewise.
      	* search.c (get_dynamic_cast_base_type): Likewise.
      	* tree.c (build_shared_int_cst): Likewise.
      fortran:
      	* trans-array.c (gfc_trans_array_constructor_value): Use
      	build_int_cst.
      	* trans-const.c (gfc_build_string_const,
      	gfc_init_constants, gfc_conv_mpz_to_tree,
      	gfc_conv_constant_to_tree): Likewise.
      	* trans-decl.c (gfc_get_symbol_decl): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
      	gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
      	* trans-io.c (add_case, set_error_locus, build_dt,
      	transfer_expr): Likewise.
      	* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
      	gfc_trans_stop, gfc_trans_character_select): Likewise.
      	* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
      	* trans.c (gfc_trans_runtime_check): Likewise.
      java:
      	* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
      	* class.c (build_utf8_ref, build_static_field_ref,
      	make_field_value, make_method_value, get_dispatch_table,
      	make_class_data, emit_symbol_table, emit_catch_table): Likewise.
      	* constants.c (get_tag_node,  build_ref_from_constant_pool,
      	build_constants_constructor): Likewise.
      	* decl.c (java_init_decl_processing): Likewise.
      	* expr.c (build_java_array_length_access, build_newarray,
      	expand_java_multianewarray, expand_java_pushc, expand_iinc,
      	build_java_binop, build_field_ref, expand_java_add_case,
      	expand_java_call, build_known_method_ref, build_invokevirtual,
      	build_invokeinterface, build_jni_stub): Likewise.
      	* java-gimplify.c (java_gimplify_new_array_init): Likewise.
      	* jcf-parse.c (get_constant): Likewise.
      	* lex.c (do_java_lex): Likewise.
      	* parse.y (patch_binop, patch_unaryop, patch_cast,
      	build_null_of_type, patch_newarray): Likewise.
      	* resource.c (compile_resource_data): Likewise.
      	* typeck.c (build_prim_array_type): Likewise.
      
      From-SVN: r86022
      4a90aeeb
  15. Aug 05, 2004
    • Geoffrey Keating's avatar
      re PR c/14516 (-fleading-underscore does not work correctly for file static variables) · 0e6df31e
      Geoffrey Keating authored
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	PR 14516
      	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
      	* c-common.h (make_rtl_for_local_static): Delete.
      	* c-decl.c (shadow_tag_warned): Clean up comment.
      	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
      	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
      	* c-semantics.c (make_rtl_for_local_static): Delete.
      	* expr.c (init_block_move_fn): Use set_user_assembler_name.
      	(init_block_clear_fn): Likewise.
      	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
      	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
      	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
      	* tree.h (make_decl_rtl): Remove second parameter.
      	(set_user_assembler_name): New.
      	* varasm.c (set_user_assembler_name): New.
      	(make_decl_rtl): Remove second parameter.  Update callers in many
      	files.
      
      Index: cp/ChangeLog
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl.c (make_rtl_for_nonlocal_decl): Set DECL_ASSEMBLER_NAME rather
      	than passing it as a parameter to rest_of_decl_compilation.
      	* decl2.c (grokfield): Use set_user_assembler_name.
      
      From-SVN: r85593
      0e6df31e
  16. Jul 21, 2004
    • Andrew Haley's avatar
      verify.c (verify_jvm_instructions): Comment change only. · 00150bf9
      Andrew Haley authored
      2004-07-20  Andrew Haley  <aph@redhat.com>
      
      	* verify.c (verify_jvm_instructions): Comment change only.
      
      	* typeck.c (build_java_array_type): Add size field to array name.
      
      	* java-tree.h (LOCAL_SLOT_P): New.
      	(update_aliases): Add PC argument.
      	(pushdecl_function_level): New function.
      
      	* java-gimplify.c (java_gimplify_expr): Handle VAR_DECL,
      	MODIFY_EXPR, and SAVE_EXPR.
      	(java_gimplify_modify_expr): New function.
      
      	* expr.c (push_type_0): Call find_stack_slot() to create temporary.
      	(expand_iinc): Pass PC to update_aliases().
      	(STORE_INTERNAL): Likewise.
      	(process_jvm_instruction): Likewise.
      
      	* decl.c (base_decl_map): New variable.
      	(uniq): New variable.
      	(update_aliases): Rewrite with more thorough checking.
      	(debug_variable_p): New function.
      	(push_jvm_slot): Don't initialize local variable.  Don't pushdecl.
      	(check_local_named_variable): Delete whole function.
      	(initialize_local_variable): New function.
      	(check_local_unnamed_variable): Add checks and comments.
      	(find_local_variable): Rewrite.
      	(java_replace_reference): New function.
      	(function_binding_level): New variable.
      	(pushdecl_function_level): New function.
      	(maybe_pushlevels): Set DECL_LOCAL_END_PC.
      	(maybe_pushlevels): Call pushdecl() on each of the new decls.
      	(start_java_method): Reset uniq.  Create base_decl_map.  Set
      	function_binding_level.
      	(end_java_method): Null unused fields to save memory.
      
      From-SVN: r85009
      00150bf9
  17. Jul 20, 2004
    • Nathan Sidwell's avatar
      tree.h: Include vec.h · fa743e8c
      Nathan Sidwell authored
      .:	* tree.h: Include vec.h
      	(DEF_VEC_P(tree)): New type.
      	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust.
      	(BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New.
      	(BINFO_LANG_SLOT): Remove.
      	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New.
      	(struct tree_binfo): Turn base_binfos into a trailing
      	VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields.
      	(binfo_lang_slots): Remove.
      	* tree.c (binfo_lang_slots): Remove.
      	(make_tree_binfo_stat): Take a base binfo count, not a
      	lang slot count.  Adjust.
      	* Makefile.in (TREE_H): Add vec.h
      	* alias.c (record_component_aliases): Adjust BINFO access.
      	* dbxout.c (dbxout_type): Likewise.
      	* dwarf2out.c (gen_member_die): Likewise.
      	* sdbout.c (sdbout_one_type): Likewise.
      	* tree-dump.c (deque_and_dump): Likewise.
      	* config/i386/i386.c (classify_argument,
      	contains_128bit_aligned_vector_p): Likewise.
      	* config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise.
      	* doc/c-tree.texi (Classes): Update BINFO documentation.
      cp:
      	* cp-tree.h (DEF_VEC_P(tree)): Remove here.
      	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF):
      	Moved to common.
      	(BINFO_LANG_SLOTS): Remove.
      	* tree.c (copy_binfo): Adjust BINFO creation and accessors.
      	* decl.c (xref_basetypes): Adjust BINFO creation and accessors.
      	* class.c (check_bases): Adjust BINFO accessors.
      	(determine_primary_base, finish_struct_bits,
      	maybe_warn_about_overly_private_class, warn_hidden,
      	walk_subobject_offsets, propagate_binfo_offsets, end_of_class,
      	warn_about_ambiguous_bases, get_vfield_name,
      	dump_class_hierarchy_r, build_vtt_inits, accumulate_vtbl_inits,
      	add_vcall_offset_vtbl_entries_r): Likewise.
      	* dump.c (cp_dump_tree): Likewise.
      	* init.c (sort_mem_initializers, expand_member_init, build_delete,
      	push_base_cleanups): Likewise.
      	* method.c (do_build_copy_constructor, do_build_assign_ref,
      	synthesize_exception_spec): Likewise.
      	name-lookup.c (arg_assoc_class): Likewise.
      	* pt.c (instantiate_class_template,
      	get_template_base_recursive): Likewise.
      	* rtti.c (get_pseudo_ti_init, get_pseudo_ti_desc): Likewise.
      	* typeck2.c (process_init_constructor): Likewise.
      	* search.c (lookup_base_r, dynamic_cast_base_recurse,
      	dfs_access_in_type, dfs_walk_real, look_for_overrides,
      	types_overlap_p, copied_binfo, original_binfo): Likewise.
      	(binfo_for_vtable): Remove
      java:
      	* class.c (add_interface_do): Remove.
      	(set_super_info, interface_of_p, maybe_add_interface,
      	add_interface, make_class_data, layout_class,
      	add_miranda_methods): Adjust BINFO accessors and addition.
      	* expr.c (can_widen_reference_to, lookup_field): Adjust BINFO
      	accessors.
      	* jcf-write.c (generate_classfile): Likewise.
      	* parse.y (patch_anonymous_class, check_inner_circular_reference,
      	check_circular_reference, java_complete_class,
      	check_abstract_method_definitions,
      	java_check_abstract_method_definitions,
      	check_interface_throws_clauses, java_check_abstract_methods,
      	lookup_java_interface_method2,
      	find_applicable_accessible_methods_list): Adjust BINFO accessors
      	and addition.
      	* typeck.c (find_method_in_interfaces): Adjust BINFO accessors.
      
      From-SVN: r84949
      fa743e8c
  18. Jul 12, 2004
    • Roger Sayle's avatar
      expr.c (java_truthvalue_conversion, [...]): Convert calls to "build" into... · 247fec6e
      Roger Sayle authored
      expr.c (java_truthvalue_conversion, [...]): Convert calls to "build" into calls to the prefered "buildN" functions.
      
      
      	* expr.c (java_truthvalue_conversion, flush_quick_stack,
      	java_stack_swap, java_stack_dup, build_java_athrow, build_java_jsr,
      	build_java_ret, build_java_throw_out_of_bounds_exception,
      	build_java_array_length_access, java_check_reference,
      	build_java_arrayaccess, build_java_arraystore_check, build_newarray,
      	build_anewarray, expand_java_multianewarray, expand_java_arraystore,
      	expand_java_arrayload, build_java_monitor, expand_java_return,
      	expand_load_internal, expand_java_NEW, build_get_class,
      	build_instanceof, expand_java_CHECKCAST, expand_iinc,
      	build_java_soft_divmod, build_java_binop, build_field_ref,
      	expand_compare, expand_java_goto, expand_java_switch,
      	expand_java_add_case, build_class_init, build_known_method_ref,
      	invoke_build_dtable, build_invokevirtual, build_invokeinterface,
      	expand_invoke, build_jni_stub, expand_java_field_op,
      	java_expand_expr, expand_byte_code, STORE_INTERNAL,
      	force_evaluation_order, emit_init_test_initialization): Convert
      	calls to "build" into calls to the prefered "buildN" functions.
      
      From-SVN: r84541
      247fec6e
  19. Jul 08, 2004
    • Richard Henderson's avatar
      except.c (expand_eh_region_start, [...]): Remove. · ac45df5d
      Richard Henderson authored
      	* except.c (expand_eh_region_start, expand_eh_region_end,
      	expand_eh_handler, expand_eh_region_end_cleanup,
      	expand_start_all_catch, expand_start_catch, expand_end_catch,
      	expand_end_all_catch, expand_eh_region_end_allowed,
      	expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
      	expand_eh_region_end_fixup): Remove.
      	* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
      	cleanups, outer_cleanups, label_chain, exception_region.
      	(struct goto_fixup): Remove stack_level, cleanup_list_list.
      	(struct label_chain): Remove.
      	(struct stmt_status): Remove x_stack_block_stack.
      	(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
      	fixup_gotos, save_stack_pointer, expand_decl_cleanup,
      	expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
      	end_cleanup_deferral, last_cleanup_this_contour,
      	containing_blocks_have_cleanups_or_stack_level,
      	any_pending_cleanups): Remove.
      	(expand_null_return_1): Take no arguments.
      	(expand_label, expand_naked_return, expand_return,
      	expand_start_bindings_and_block, expand_end_bindings, expand_decl,
      	expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
      	expand_end_case_type): Don't use any of them.
      	* calls.c (expand_call): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* function.c (expand_function_end): Likewise.
      	* expr.c (store_expr, expand_expr_real_1): Likewise.
      	(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
      	(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
      	CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
      	EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
      	* fold-const.c (fold_checksum_tree): Use first_rtl_op.
      	* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
      	* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
      	for WITH_CLEANUP_EXPR.
      	(gimple_push_cleanup): Likewise.
      	* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
      	* print-tree.c (print_node): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
      	* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
      	(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
      	* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
      	(GOTO_SUBROUTINE_EXPR): Remove.
      	* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
      	(DECL_TOO_LATE): Remove.
      	* except.h, tree.h: Update decls.
      ada/
      	* trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
      	commentary.
      cp/
      	* cp-tree.h (expand_eh_spec_block): Remove.
      java/
      	* expr.c (case_identity, get_primitive_array_vtable,
      	java_expand_expr, emit_init_test_initialization): Remove.
      	* java-tree.h (java_expand_expr): Remove.
      	* lang.c (LANG_HOOKS_EXPAND_EXPR): Remove.
      
      From-SVN: r84275
      ac45df5d
  20. Jul 07, 2004
    • Nathan Sidwell's avatar
      tree.h (TYPE_BINFO_OFFSET, [...]): Remove. · 604a3205
      Nathan Sidwell authored
      	* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
      	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
      	TYPE_BINFO_BASETYPE): Remove.
      	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
      	to ...
      	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
      	here.
      	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
      	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
      	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
      	(struct tree_binfo): Rename base_types to base_binfos.
      	* alias.c (record_component_aliases): Adjust BINFO macros.
      	* dbxout.c (dbxout_type): Likewise.
      	* dwarf2out.c (gen_member_die): Likewise.
      	* sdbout.c (sdbout_one_type): Likewise.
      	* tree-dump.c (deque_and_dump): Likewise.
      	* config/i386/i386.c (classify_argument,
      	contains_128bit_aligned_vector_p): Likewise.
      
      	* cp/cp-tree.h (CLASSTYPE_N_BASECLASSES): Remove.
      	* cp/class.c (build_primary_vtable, check_bases,
      	determine_primary_base, finish_struct_bits,
      	maybe_warn_about_overly_private_class, dfs_find_final_overrider_q,
      	get_basefndecls, warn_hidden, walk_subobject_offsets,
      	build_base_fields, create_vtable_ptr, propagate_binfo_offsets,
      	layout_virtual_bases, end_of_class, warn_about_ambiguous_bases,
      	finish_struct_1, get_vfield_name, contains_empty_class_p,
      	dump_class_hierarchy_r, finish_vtbls, build_vtt_inits,
      	dfs_ctor_vtable_bases_queue_p, accumulate_vtbl_inits,
      	add_vcall_offset_vtbl_entries_r, cp_fold_obj_type_ref): Adjust
      	BINFO macros.
      	* cp/decl.c (xref_basetypes): Likewise.
      	* cp/dump.c (cp_dump_tree): Likewise.
      	* cp/error.c (dump_expr): Likewise.
      	* cp/init.c (sort_mem_initializers, expand_member_init,
      	push_base_cleanups): Likewise.
      	* cp/method.c (do_build_copy_constructor, do_build_assign_reg,
      	synthesize_exception_spec): Likewise.
      	* cp/name-lookup.c (arg_assoc_class):
      	* cp/pt.c (instantiate_class_template, tsubst,
      	get_template_base_recursive):
      	* cp/ptree.c (cxx_print_type):
      	* cp/rtti.c (get_psuedo_ti_init, get_pseudo_ti_desc): Likewise.
      	* cp/search.c (lookup_base_r, dynamic_cast_base_recurse,
      	dfs_access_in_type, access_in_type, lookup_field_queue_p,
      	bfs_walk, dfs_walk_real, look_for_overrides, markedp, unmarkedp,
      	marked_pushdecls_p, unmarked_pushdecls_p, dfs_debug_markedp,
      	dfs_debug_unmarkedp, dfs_check_overlap, dfs_no_overlap_yet,
      	binfo_for_vtable, copied_binfo, original_binfo): Likewise
      	* cp/tree.c (copy_base_binfos, make_binfo): Likewise.
      	* cp/typeck.c (commmon_base_type): Likewise
      	* cp/typeck2.c (process_init_constructor): Likewise
      
      	* java/java-tree.h (CLASSTYPE_SPUER): Adjust BINFO macros.
      	(TYPE_NVIRTUALS, TYPE_VTABLE): Likewise.
      	* java/class.c (set_super_info, class_depth, interface_of_p,
      	maybe_add_interface, add_interface, make_class_data,
      	layout_class, add_miranda_methods): Adjust BINFO macros.
      	* java/expr.c (can_widen_reference_to, lookup_field): Likewise.
      	* java/jcf-write.c (generate_classfile): Likewise.
      	* java/parse.y (patch_anonymous_class,
      	check_inner_circular_reference, check_circular_reference,
      	java_complete_class, check_abstract_method_definitions,
      	java_check_abstract_method_definitions,
      	check_interface_throws_clauses, java_check_abstract_methods,
      	lookup_java_interface_method2,
      	find_applicable_accessible_methods_list): Likewise.
      	* java/typeck.c (find_method_in_interface): Likewise.
      	* java/verify.c (merge_types): Likewise.
      
      From-SVN: r84198
      604a3205
  21. Jun 27, 2004
    • Ranjit Mathew's avatar
      Formatting fixes. · fe0b9fb5
      Ranjit Mathew authored
              * expr.c (class_has_finalize_method): Fix method name indentation.
              (expand_java_call): Remove K&R style parameter declaration.
              (expand_invoke): Fix statement indentation.
              (expand_java_field_op): Likewise.
              * parse-scan.y: Fix typo.
              (reset_report): Fix method name indentation.
              * parse.y (unresolved_type_p, build_expr_block): Remove extra blank
              line. Fix typos.
              * verify.c (verify_jvm_instructions): Document parameters, insert
              page break.
              * lang.c (lang_init_source): Fix method name indentation.
              * class.c (common_enclosing_context_p): Likewise.
              (emit_symbol_table): Fix parameter list indentation.
              * decl.c (add_stmt_to_compound, java_add_stmt): Remove K&R style
              parameter declaration.
              * constants.c: Fix copyright notice indentation.
              * typeck.c (find_method_in_superclasses): Fix parameter list
              indentation.
              (find_method_in_interfaces): Likewise.
              * zextract.c (makelong): Fix method name indentation.
      
      From-SVN: r83738
      fe0b9fb5
  22. Jun 26, 2004
  23. Jun 22, 2004
    • Richard Kenner's avatar
      alias.c (adjust_offset_for_component_ref): Use component_ref_field_offset. · 44de5aeb
      Richard Kenner authored
      	* alias.c (adjust_offset_for_component_ref): Use
      	component_ref_field_offset.
      	* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
      	* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
      	(gimplify_decl_stmt): Call gimplify_type_sizes for type.
      	For decl, call gimplify_one_sizepos and use statement list.
      	(gimplify_compound_literal_expr): New arg PRE_P.
      	Add statement to PRE_P list and return DECL.
      	(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
      	gimplify_compound_literal_expr.
      	* c-tree.h (getdecls): Deleted.
      	* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
      	(build_array_ref): Add two operands for ARRAY_REF.
      	(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
      	COMPOUND_LITERAL_EXPR.
      	* coverage.c (tree_coverage_counter_ref): Add new operands
      	for ARRAY_REF.
      	* emit-rtl.c (component_ref_for_mem_expr): Add new operand
      	for COMPONENT_REF.
      	(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
      	and array_ref_element_size.
      	(widen_memory_access):Use component_ref_field_offset.
      	* explow.c (update_nonlocal_goto_save_area): Add two operands
      	for ARRAY_REF.
      	* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
      	(component_ref_field_offset): Likewise.
      	(get_inner_reference): Use them.
      	(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
      	* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
      	(fold_read_from_constant_string): Use array_ref_low_bound.
      	Verify that result is a character type.
      	(build_fold_indirect_ref): Add two operands for ARRAY_REF.
      	* function.c (expand_function_start): Likewise.
      	* gimple-low.c (expand_var_p): Delete duplicated line.
      	* gimplify.c: Add static decls for local functions.
      	(cgraph.h): Now included.
      	(create_tmp_var): Remove check for ARRAY_TYPE.
      	(copy_if_shared_r): Look at bounds and sizes of types.
      	(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
      	(gimplify_exit_expr, shortcut_cond_expr): Likewise.
      	(gimplify_save_expr, gimple_push_cleanup): Likewise.
      	(gimplify_init_constructor): Likewise.
      	WANT_VALUE now bool.
      	If empty list with no result wanted, return GS_UNHANDLED.
      	Add additional operands for ARRAY_REF and COMPONENT_REF.
      	(canonicalize_component_ref): Convert to &array[L].
      	(gimplify_array_ref_to_plus): Use array_ref_element_size and
      	array_ref_lower_bound.
      	(build_addr_expr_with_type, build_addr_expr): New functions.
      	(gimplify_compound_lval): WANT_LVALUE now bool.
      	Major rework to allow handle_component_p and initialize and
      	gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
      	COMPONENT_REF.
      	(gimplify_array_ref): Deleted.
      	(gimplify_self_mod_expr): WANT_VALUE now bool.
      	(gimplify_modify_expr): Gimplify to_p and from_p later.
      	Factor out code into gimplify_modify_expr_rhs and call twice.
      	Move variable-size code earlier and handle PLACEHOLDER_EXPR.
      	(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
      	(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
      	(gimplify_expr, case ARRAY_REF): Delete special case.
      	Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
      	IMAGPART, and REALPART the same way.
      	(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
      	(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
      	Call alloc_stmt_list instead of build_empty_stmt.
      	Deal with _REF that's volatile.
      	(gimplify_type_sizes, gimplify_one_sizepos): New functions.
      	(unshare_body, unvisit_body): New functions.
      	(gimplify_body): Call them.
      	* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
      	* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
      	* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
      	* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
      	like ARRAY_REF.
      	(verify_expr, case ADDR_EXPR): Use handled_component_p.
      	* tree-dfa.c (get_virtual_var): Likewise.
      	* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
      	New cases to dump new operands; likewise for ARRAY_RANGE_REF.
      	* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
      	* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
      	and INDIRECT_REF.
      	(get_base_address): Use handled_component_p.
      	* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
      	* tree-line.c (walk_tree): Walk more things for types and decls.
      	* tree-mudflap.c (mf_build_check_statement_for): Add new operands
      	for ARRAY_REF and COMPONENT_REF.
      	(mx_xform_derefs_1): Clean up usage of decl sizes.
      	* tree-nested.c (build_addr): Use handled_component_p.
      	(walk_stmts, case CATCH_EXPR): Add missing "break".
      	(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
      	(finalize_nesting_tree_1): Likewise.
      	(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
      	and process additional operands.
      	(convert_local_reference): Likewise.
      	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
      	ARRAY_RANGE_REF similarly to ARRAY_REF.
      	* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
      	like RECORD_TYPE.
      	(dump_generic_node, case COMPONENT_REF): Print offset operand.
      	(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
      	and print lower bound and element size for both.
      	(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
      	* tree-sra.c (csc_build_component_ref): Add new operand.
      	(scalarize_call_expr): Use get_base_address.
      	* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
      	(maybe_fold_offset_to_array_ref): Rework to handle input having an
      	ARRAY_REF, refine handling of lower bound, and add new operands
      	for ARRAY_REF.
      	(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
      	(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
      	(maybe_fold_stmt_addition): Only handle constant lower bound.
      	* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
      	Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
      	Look at new offset operand of COMPONENT_REF.
      	* tree-ssa.c (set_is_used): Use handled_component_p.
      	* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
      	(stabilize_reference, case COMPONENT_REF): Likewise.
      	(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
      	(recompute_tree_invariant_for_addr_expr): Completely rework to
      	be more precise.  Also set TREE_SIDE_EFFECTS.
      	(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
      	(build2_stat, build3_stat, build4_stat): For references,
      	propagate TREE_THIS_VOLATILE.
      	(get_unwidened): Add new operand for COMPONENT_REF.
      	(get_narrower): Likewise; use host_integerp for DECL_SIZE.
      	* tree.def (COMPONENT_REF): Add new operand.
      	(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
      	* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
      	(component_ref_field_offset): Likewise.
      	* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
      	(alpha_gimplify_va_arg): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
      	* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
      	* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
      	Likewise.
      	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
      	* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
      	* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
      	Likewise.
      	(xstormy16_expand_builtin_va_arg): Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.
      
      	* cp/call.c (build_vfield_ref): Add new operand for COMPONENT_REF.
      	(build_new_method_call): Likewise.
      	* cp/decl.c (local_variable_p_walkfn): Don't walk into types.
      	* cp/decl2.c (grok_array_decl): Add new operands for ARRAY_REF.
      	(build_anon_union_vars): Add new operand for COMPONENT_REF.
      	* cp/init.c (buld_new): Add new operand for ARRAY_REF.
      	* cp/method.c (do_build_copy_constructor): New op for COMPONENT_REF.
      	(do_build_assign_ref): Likewise.
      	* cp/parser.c (cp_parser_direct_new_declarator): Add new operands
      	for ARRAY_REF.
      	(cp_parser_direct_declarator): Likewise.
      	* cp/pt.c (tsubst): Likewise.
      	(tsubst_copy, tsubst_copy_and_build): Likewise; also add new operand
       	for COMPONENT_REF.
      	* cp/semantics.c (finish_non_static_data_member): Add new operand
      	for COMPONENT_REF.
      	* cp/typeck.c (build_class_member_access_expr): Likewise.
      	(build_class_member_access_expr, finish_class_member_access_expr):
      	Likewise.
      	(build_ptrmemfunc_access_expr): Likewise.
      	(build_array_ref): Add new operands for ARRAY_REF.
      	* cp/typeck2.c (split_nonconstant_init_1): Likewise; COMPONENT_REF too.
      	* cp/tree.c (count_trees_r, no_linkage_helper): Don't walk in types.
      
      	* fortran/f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
      	* fortran/trans-array.c (gfc_conv_descriptor_data): Add operand
      	for COMPONENT_REF.
      	(gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
      	(gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
      	(gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
      	* fortran/trans-common.c (create_common): Likewise.
      	* fortran/trans-expr.c (gfc_conv_component_ref): Likewise.
      	* fortran/trans-io.c (set_parameter_value): Likewise.
      	(set_parameter_ref, set_string, set_flag, io_result): Likewise.
      	(transfer_expr): Likewise.
      	* fortran/trans-decl.c (gfc_trans_auto_character_variable):
      	Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
      	(gfc_simplify_function): New function.
      	(gfc_generate_function-code): Properly handle nested functions.
      	* fortran/trans.c (gfc_build_array_ref): Add two new operands
      	for ARRAY_REF.
      
      	* java/class.c (build_class_ref): Add new operand for COMPONENT_REF.
      	(build_static_field_ref): Likewise and add new operands for ARRAY_REF.
      	* java/constants.c (build_ref_from_constant_pool): Likewise.
      	* java/expr.c (build_java_array_length_access): Likewise.
      	(build_get_class, build_field_ref, build_known_method_ref): Likewise.
      	(invoke_build_dtable, build_invokevirtual): Likewise.
      	(build_invokeinterface, java_expand_expr): Likewise.
      	(emit_init_test_initialization): Likewise.
      	* java/java-gimplify.c (java_gimplify_new_array_init): Likewise.
      	* java/parse.y (make_qualifed_name, build_array_ref): Likewise.
      
      	* objc/ojbc-act.c (generate_static_references): Add additional
      	operands to ARRAY_REF.
      	(generate_strings, build_method_prototype_list_template): Likewise.
      	(generate_protocol_list): Likewise.
      
      From-SVN: r83474
      44de5aeb
  24. Jun 08, 2004
    • Andrew Pinski's avatar
      re PR java/15769 (ICE: infinite recursion through gimplify_expr) · c1b69e3c
      Andrew Pinski authored
      2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR java/15769
              * expr.c (java_truthvalue_conversion): Handle
              UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
              ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
              i.e. return the expression.
      
      From-SVN: r82756
      c1b69e3c
  25. May 14, 2004
    • Diego Novillo's avatar
      tree-gimple.c: Rename from tree-simple.c. · eadf906f
      Diego Novillo authored
      	* tree-gimple.c: Rename from tree-simple.c.
      	* tree-gimple.h: Rename from tree-simple.h.
      	* c-gimplify.c: Rename from c-simplify.c
      	* Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
      	langhooks.c, tree-alias-ander.c, tree-alias-common.c,
      	tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
      	tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
      	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
      	Update.
      
      cp/ChangeLog
      
      	* cp-gimplify.c: Rename from cp-simplify.c.
      	* Make-lang.in, optimize.c: Update.
      
      fortran/ChangeLog
      
      	* Make-lang.in, f95-lang.c, trans-array.c, trans-decl.c,
      	trans-expr.c, trans-intrinsic.c, trans-io.c, trans-stmt.c,
      	trans.c: Rename tree-simple.[ch] to tree-gimple.[ch].
      
      java/ChangeLog
      
      	* Make-lang.in, expr.c, java-gimplify.c: Rename
      	tree-simple.[ch] to tree-gimple.[ch].
      
      From-SVN: r81829
      eadf906f
  26. May 13, 2004
  27. May 10, 2004
    • Andrew Haley's avatar
      parse.y (create_class): Set TYPE_VFIELD. · af434fa7
      Andrew Haley authored
      2004-05-10  Andrew Haley  <aph@redhat.com>
      
      	* parse.y (create_class): Set TYPE_VFIELD.
      	* decl.c (java_init_decl_processing): Likewise.
      
      	* expr.c (build_invokevirtual): Remove DECL_VINDEX offset adjustment.
      	* class.c (make_method_value): Replace DECL_VINDEX with call to
      	get_method_index().
      	(get_dispatch_vector): Likewise.
      	(layout_class_method): Likewise.
      	Replace set of DECL_VINDEX with call to set_method_index().
      	(set_method_index): New function.
      	(get_method_index): New function.
      	* java-tree.h (set_method_index): New function decl.
      	(get_method_index): New function decl.
      
      From-SVN: r81672
      af434fa7
  28. Apr 16, 2004
    • Bryce McKinlay's avatar
      prims.cc (_Jv_AllocObject): Remove `size' argument. · 245c3c04
      Bryce McKinlay authored
      libjava:
      2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* prims.cc (_Jv_AllocObject): Remove `size' argument.
      	(_Jv_AllocObjectNoFinalizer): Likewise.
      	(_Jv_AllocObjectNoInitNoFinalizer): Likewise.
      	(_Jv_AllocPtrFreeObject): Likewise.
      	(_Jv_AllocString): Moved from natString.cc. Call collector interface
      	directly even in the JVMPI case.
      	* gcj/cni.h (JvAllocObject): Remove `size' argument from
      	_Jv_AllocObject calls.
      	* gcj/javaprims.h: Update prototypes.
      	* gnu/gcj/natCore.cc (_Jv_create_core): Use `new', not
      	_Jv_AllocObject.
      	* java/lang/Class.h: Update _Jv_AllocObject friend prototype.
      	* java/lang/natString.cc (_Jv_AllocString): Move to prims.cc.
      
      gcc/cp:
      2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* init.c (build_new_1): Don't use type size argument for Java
      	_Jv_AllocObject call.
      
      gcc/java:
      2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* expr.c (expand_java_NEW): Don't use size argument for
      	_Jv_AllocObject calls.
      	* parse.y (patch_invoke): Likewise.
      
      From-SVN: r80754
      245c3c04
  29. Apr 14, 2004
    • Bryce McKinlay's avatar
      expr.c (build_invokeinterface): Remove unused variables to fix warnings. · aeb95628
      Bryce McKinlay authored
              * expr.c (build_invokeinterface): Remove unused variables to
              fix warnings.
      
      From-SVN: r80686
      aeb95628
    • Bryce McKinlay's avatar
      [multiple changes] · d7afe286
      Bryce McKinlay authored
      2004-04-14  Andrew Haley  <aph@redhat.com>
                  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Use
      	_Jv_LookupInterfaceMethodIdx for calls to interfaces.
      	* include/jvm.h (_Jv_CallAnyMethodA): Add new 	face' arg.
      
      	* testsuite/libjava.lang/InvokeInterface.java: New file.
      	* testsuite/libjava.lang/InvokeInterface.out: New file.
      
      2004-04-14  Bryce McKinlay  <mckinlay@redhat.com>
      
      	* class.c (get_interface_method_index): New function. Return
      	dispatch index for interface method.
      	(make_method_value): For interface methods, set index field to
      	iface dispatch index, not DECL_VINDEX.
      	* expr.c (build_invokeinterface): Use get_interface_method_index.
      
      From-SVN: r80684
      d7afe286
  30. Mar 30, 2004
    • Zack Weinberg's avatar
      gengtype.c (create_option): New function. · 1431042e
      Zack Weinberg authored
      	* gengtype.c (create_option): New function.
      	* gengtype.h: Prototype it.
      	* gengtype-yacc.y (stringseq): New rule.
      	(option): Use create_option.  Add new bare ID production.  Use
      	stringseq, not STRING directly.
      
      	* alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
      	* dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
      	* varray.h, config/alpha/alpha.c, cp/name-lookup.c, cp/parser.c
      	* f/com.c, java/builtins.c, java/expr.c, java/jcf.h, java/parse.h:
      	Use new shorter form of GTY markers.
      
      	* doc/gty.texi: Rewrite.
      
      From-SVN: r80091
      1431042e
  31. Feb 05, 2004
    • Kazu Hirata's avatar
      utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES with targetm.calls.promote_prototypes. · 136e64db
      Kazu Hirata authored
      	ada/
      	* ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
      	with targetm.calls.promote_prototypes.
      
      	gcc/
      	* config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
      	TARGET_PROMOTE_PROTOTYPES.
      
      	cp/
      	* call.c (type_passed_as): Replace PROMOTE_PROTOTYPES with
      	targetm.calls.promote_prototypes.
      
      	java/
      	* Make-lang.in (java/decl.o, java/expr.o, java/parse.o):
      	Depend on target.h.
      	* decl.c: Include target.h.
      	(start_java_method): Replace PROMOTE_PROTOTYPES with
      	targetm.calls.promote_prototypes.
      	* expr.c: Include target.h.
      	(pop_arguments): Replace PROMOTE_PROTOTYPES with
      	targetm.calls.promote_prototypes.
      	* parse.y: Include target.h.
      	(start_complete_expand_method): Replace PROMOTE_PROTOTYPES
      	with targetm.calls.promote_prototypes.
      
      From-SVN: r77345
      136e64db
  32. Jan 30, 2004
  33. Jan 29, 2004
  34. Jan 09, 2004
    • Mark Mitchell's avatar
      expr.h (expand_expr): Make it a macro, not a function. · 0fab64a3
      Mark Mitchell authored
      	* expr.h (expand_expr): Make it a macro, not a function.
      	(expand_expr_real): New function.
      	* expr.c (store_expr): Adjust logic for deciding whether or not to
      	copy the value returned by expand_expr.
      	(expand_expr): Rename to ...
      	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
      	calls to language hooks.
      	* c-common.h (c_expand_expr): Adjust prototype.
      	* c-common.c (c_expand_expr): Add alt_rtl parameter.
      	* langhooks-def.h (lhd_expand_expr): Change prototype.
      	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
      	* langhooks.h (lang_hooks): Change type of expand_expr.
      	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
      	(last_expr_alt_rtl): Likewise.
      	(expand_expr_stmt_value): Set last_expr_alt_rtl.
      	(clear_last_expr): Clear it.
      	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
      	(expand_end_bindings): Save and restor last_expr_alt_rtl.
      	* tree.def (RTL_EXPR): Give it an additional operand.
      	* tree.h (RTL_EXPR_ALT_RTL): New macro.
      
      	* misc.c (gnat_expand_expr): Add alt_rtl parameter.
      
      	* cp-tree.h (cxx_expand_expr): Change prototype.
      	* expr.c (cxx_expand_expr): Add alt_rtl parameter.
      
      	* java-tree.h (java_expand_expr): Change prototype.
      	* expr.c (java_expand_expr): Add alt_rtl parameter.
      
      From-SVN: r75594
      0fab64a3
    • Andrew Haley's avatar
      re PR java/12755 (Binary Compatibility: Resolving static methods and classes is not thread safe) · 85194ee9
      Andrew Haley authored
      2004-01-09  Andrew Haley  <aph@redhat.com>
      
      	PR java/12755:
      	* parse.y (java_fix_constructors):  Set output_class.
      	(java_reorder_fields): Likewise.
      	(java_layout_classes): Likewise.
      	(java_expand_classes): Generate indirect dispatch tables.
      	(java_expand_classes): Set output_class.
      	(java_finish_classes): Likewise.
      	* lang.c (java_init): Turn on always_initialize_class_p if we're
      	using indirect dis[atch.
      	(java_decl_ok_for_sibcall): Use output_class, not current_class.
      	(java_get_callee_fndecl): Use class local atable.
      	* jcf-parse.c
      	(always_initialize_class_p): Decl moved to java-tree.h.
      	(HANDLE_CLASS_INFO): Set output_class.
      	(read_class): Likewise.
      	(parse_class_file): Call gen_indirect_dispatch_tables.
      	(parse_zip_file_entries): Set output_class.
      	(java_parse_file): Set output_class.  Don't emit symbol tables.
      	* java-tree.h (output_class): New.
      	Remove global declarations for otable, atable, and ctable.
      	(always_initialize_class_p): moved here from decl.c.
      	(DECL_OWNER): New.
      	(TYPE_ATABLE_METHODS, TYPE_ATABLE_SYMS_DECL, TYPE_ATABLE_DECL,
      	TYPE_OTABLE_METHODS, TYPE_OTABLE_SYMS_DECL, TYPE_OTABLE_DECL,
      	TYPE_CTABLE_DECL, TYPE_CATCH_CLASSES): New.
      	(struct lang_type): Add otable_methods, otable_decl,
      	otable_syms_decl, atable_methods, atable_decl, atable_syms_decl,
      	ctable_decl, catch_classes, type_to_runtime_map.
      	* expr.c (build_field_ref): Make otable, atable, and ctable class
      	local rather than global.
      	(build_known_method_ref): Likewise.
      	(build_invokeinterface): Likewise.
      	(java_expand_expr): Pass runtime type (rather than actual type) to
      	expand_start_catch.
      	* except.c (prepare_eh_table_type): Create TYPE_TO_RUNTIME_MAP for
      	this class.  Look up each class in that map to delete duplicates.
      	(expand_end_java_handler): Pass runtime type (rather than actual
      	type) to expand_start_catch.
      	* decl.c: (always_initialize_class_p): Decl moved to java-tree.h.
      	(do_nothing): New.
      	(java_init_decl_processing): Rearrange things.  Remove global
      	declarations of otable, atable, and ctable.
      	(java_init_decl_processing): Make lang_eh_runtime_type do_nothing.
      	(java_expand_body): Set output_class.
      	* constants.c (build_constant_data_ref): Use output_class, not
      	current_class.
      	(alloc_name_constant): Likewise.
      	* class.c (gen_indirect_dispatch_tables): New.
      	(build_class_ref): Generate hard reference to superclass, even if
      	using indirect dispatch.
      	(build_static_field_ref): Use class local atable.
      	(make_class_data): Generate hard reference to superclass, even if
      	using indirect dispatch.
      	Generate symbolic references to interfaces when using indirect
      	dispatch.
      	(make_class_data): Emit otable, atable, and ctable.
      	Make otable, atable, and ctable class local rather than global.
      	(emit_catch_table): Make otable, atable, and ctable class local
      	rather than global.
      
      From-SVN: r75590
      85194ee9
  35. Dec 20, 2003
    • Kazu Hirata's avatar
      class.c: Remove uses of "register" specifier in declarations of arguments and local... · 3a976c72
      Kazu Hirata authored
      	* class.c: Remove uses of "register" specifier in
      	declarations of arguments and local variables.
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* gjavah.c: Likewise.
      	* jcf-dump.c: Likewise.
      	* jcf-io.c: Likewise.
      	* jcf-parse.c: Likewise.
      	* jcf-write.c: Likewise.
      	* keyword.h: Likewise.
      	* parse.y: Likewise.
      	* typeck.c: Likewise.
      	* verify.c: Likewise.
      
      From-SVN: r74882
      3a976c72
  36. Nov 06, 2003
  37. Oct 22, 2003
Loading