platform/upstream/gcc.git
16 years agore PR target/32218 (segfault with -O1 -ftree-vectorize)
Steve Ellcey [Wed, 25 Jul 2007 20:24:15 +0000 (20:24 +0000)]
re PR target/32218 (segfault with -O1 -ftree-vectorize)

PR target/32218
* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.

From-SVN: r126931

16 years agoia64.h (HARD_REGNO_NREGS): Handle RFmode.
Steve Ellcey [Wed, 25 Jul 2007 20:09:07 +0000 (20:09 +0000)]
ia64.h (HARD_REGNO_NREGS): Handle RFmode.

* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle RFmode.
(HARD_REGNO_MODE_OK): Ditto.
(MODES_TIEABLE_P): Ditto.
(HARD_REGNO_CALLER_SAVE_MODE): Ditto.
(CLASS_MAX_NREGS): Ditto.
* config/ia64/ia64.c (ia64_print_operand_address): Add R format.
* config/ia64/ia64.md (divsf3_internal_thr): Removed.
(divdf3_internal_thr): Removed.
* config/ia64/div.md: New file.
* config/ia64/constraints.md: Add H constraint.

From-SVN: r126930

16 years agosbitmap.c (sbitmap_verify_popcount, [...]): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:48:07 +0000 (19:48 +0000)]
sbitmap.c (sbitmap_verify_popcount, [...]): Constify.

* sbitmap.c (sbitmap_verify_popcount, sbitmap_alloc_with_popcount,
sbitmap_copy, sbitmap_copy_n, sbitmap_equal, sbitmap_empty_p,
sbitmap_union_of_diff_cg, sbitmap_union_of_diff, sbitmap_not,
sbitmap_difference, sbitmap_any_common_bits, sbitmap_a_and_b_cg,
sbitmap_a_and_b, sbitmap_a_xor_b_cg, sbitmap_a_xor_b,
sbitmap_a_or_b_cg, sbitmap_a_or_b, sbitmap_a_subset_b_p,
sbitmap_a_or_b_and_c_cg, sbitmap_a_or_b_and_c,
sbitmap_a_and_b_or_c_cg, sbitmap_a_and_b_or_c,
sbitmap_first_set_bit, sbitmap_last_set_bit, dump_sbitmap,
dump_sbitmap_file, debug_sbitmap, popcount_table,
sbitmap_popcount): Constify.
* sbitmap.h (const_sbitmap, const_sbitmap_ptr): New.
(sbitmap_iterator, sbitmap_iter_init, dump_sbitmap,
dump_sbitmap_file, sbitmap_copy, sbitmap_copy_n, sbitmap_equal,
sbitmap_empty_p, sbitmap_union_of_diff, sbitmap_union_of_diff_cg,
sbitmap_difference, sbitmap_not, sbitmap_a_or_b_and_c,
sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c,
sbitmap_a_and_b_or_c_cg, sbitmap_any_common_bits, sbitmap_a_and_b,
sbitmap_a_and_b_cg, sbitmap_a_or_b, sbitmap_a_or_b_cg,
sbitmap_a_xor_b, sbitmap_a_xor_b_cg, sbitmap_a_subset_b_p,
sbitmap_first_set_bit, sbitmap_last_set_bit, debug_sbitmap,
sbitmap_popcount, sbitmap_verify_popcount): Constify.

From-SVN: r126929

16 years agobitmap.c (hash_descriptor, [...]): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:38:45 +0000 (19:38 +0000)]
bitmap.c (hash_descriptor, [...]): Constify.

* bitmap.c (hash_descriptor, eq_descriptor, bitmap_element_zerop,
bitmap_copy, bitmap_clear_bit, popcount_table, bitmap_count_bits,
bitmap_first_set_bit, bitmap_and, bitmap_and_into,
bitmap_elt_copy, bitmap_and_compl, bitmap_and_compl_into,
bitmap_compl_and_into, bitmap_elt_ior, bitmap_ior,
bitmap_ior_into, bitmap_xor, bitmap_xor_into, bitmap_equal_p,
bitmap_intersect_p, bitmap_intersect_compl_p,
bitmap_ior_and_compl, bitmap_ior_and_compl_into,
debug_bitmap_file, debug_bitmap, bitmap_print, bitmap_hash):
Constify.
* bitmap.h (bitmap_copy, bitmap_equal_p, bitmap_intersect_p,
bitmap_intersect_compl_p, bitmap_count_bits, bitmap_and,
bitmap_and_into, bitmap_and_compl, bitmap_and_compl_into,
bitmap_compl_and_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
bitmap_xor_into, bitmap_ior_and_compl, bitmap_ior_and_compl_into,
debug_bitmap, debug_bitmap_file, bitmap_print,
bitmap_first_set_bit, bitmap_hash, bmp_iter_set_init,
bmp_iter_and_init, bmp_iter_and_compl_init): Likewise.

From-SVN: r126928

16 years agodarwin.c (darwin_override_options): Additional fix for debug info formats that don...
Daniel Berlin [Wed, 25 Jul 2007 19:24:16 +0000 (19:24 +0000)]
darwin.c (darwin_override_options): Additional fix for debug info formats that don't support var tracking.

2007-07-25  Daniel Berlin  <dberlin@dberlin.org>

* config/darwin.c (darwin_override_options): Additional fix for
debug info formats that don't support var tracking.

From-SVN: r126927

16 years agocselib.c (entry_and_rtx_equal_p): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:19:42 +0000 (19:19 +0000)]
cselib.c (entry_and_rtx_equal_p): Constify.

* cselib.c (entry_and_rtx_equal_p): Constify.
* gengtype.c (output_mangled_typename, write_types, write_local):
Likewise.
* gengtype.h (const_type_p): New.
* see.c (eq_descriptor_extension, hash_descriptor_extension):
Constify.
* tlink.c (scan_linker_output): De-constify.
* tree-ssa-loop-im.c (memref_eq): Constify.
* tree-ssa-structalias.c (const_shared_bitmap_info_t): New.
(shared_bitmap_hash, shared_bitmap_eq): Constify.

cp:
* parser.c (cp_parser_string_literal, cp_parser_sizeof_operand):
Constify.

From-SVN: r126926

16 years agoc-common.c (fname_as_string, [...]): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 19:06:06 +0000 (19:06 +0000)]
c-common.c (fname_as_string, [...]): Constify.

* c-common.c (fname_as_string, c_type_hash): Constify.
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
* cgraph.c (edge_hash, edge_eq): Likewise.
* dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise.
* emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash,
reg_attrs_htab_eq): Likewise.
* except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq):
Likewise.
* genautomata.c (const_reserv_sets_t, const_unit_decl_t,
const_decl_t, const_state_t, const_automata_list_el_t): New.
(first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL,
DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV,
automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash,
insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp,
reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p,
automata_list_hash, automata_list_eq_p, compare_states_for_equiv,
compare_max_occ_cycle_nums, out_state_arcs_num,
compare_transition_els_num, units_cmp, state_reservs_cmp):
Constify.
* genmodes.c (cmp_modes): Likewise.
* ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise.
* gimplify.c (compare_case_labels): Likewise.
* ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise.
* loop-unroll.c (si_info_hash, ve_info_hash): Likewise.
* matrix-reorg.c (mtt_info_hash): Likewise.
* postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise.
* rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New.
(htab_hash_bucket, htab_hash_elem): Constify.
* tree-browser.c (TB_parent_eq): Likewise.
* tree-scalar-evolution.c (hash_scev_info): Likewise.
* tree-ssa-alias.c (sort_tags_by_id): Likewise.
* tree-ssa-coalesce.c (const_coalesce_pair_p): New.
(coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs):
Constify.
* tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise.
* tree-ssa-pre.c (const_expr_pred_trans_t): New.
(expr_pred_trans_hash, expr_pred_trans_eq): Constify.
* tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t,
const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t):
New.
(vn_reference_op_eq, vn_reference_hash, vn_reference_eq,
vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash,
vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify.
* tree-ssa-threadupdate.c (redirection_data_hash,
redirection_data_eq): Likewise.
* tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise.
* tree-ssa.c (var_ann_eq): Likewise.
* tree-vrp.c (compare_case_labels): Likewise.
* tree.c (int_cst_hash_hash, int_cst_hash_eq,
tree_map_base_marked_p, type_hash_marked_p, tree_check_failed,
tree_not_check_failed, tree_class_check_failed,
tree_range_check_failed, tree_not_class_check_failed,
omp_clause_check_failed, omp_clause_range_check_failed,
tree_contains_struct_check_failed, tree_operand_check_failed):
Likewise.
* tree.h (tree_contains_struct_check_failed, tree_check_failed,
tree_not_check_failed, tree_class_check_failed,
tree_range_check_failed, tree_not_class_check_failed,
tree_operand_check_failed, omp_clause_operand_check_failed,
tree_operand_length): Likewise.
* var-tracking.c (const_variable): New.
(variable_htab_hash, variable_htab_eq): Constify.
* varasm.c (const_desc_hash): Likewise.

cp:
* decl.c (typename_hash, typename_compare): Constify.
* mangle.c (hash_type, compare_type): Likewise.
* pt.c (eq_local_specializations, hash_local_specialization):
Likewise.
* tree.c (cplus_array_hash, cplus_array_compare, list_hash_eq,
list_hash): Likewise.
* typeck2.c (pat_compare): Likewise.

fortran:
* gfortran.h (generate_isocbinding_symbol): Constify.
* symbol.c (gen_special_c_interop_ptr, gen_cptr_param,
generate_isocbinding_symbol): Likewise.

java:
* class.c (java_treetreehash_hash, java_treetreehash_compare):
Constify.
* expr.c (type_assertion_eq): Likewise.
* jcf-io.c (compare_path): Likewise.
* jcf-parse.c (cmpstringp): Likewise.
* verify-impl.c (get_one_type, compute_argument_types,
compute_return_type): Likewise.

objc:
* objc-act.c (volatilized_hash, volatilized_eq, string_hash,
string_eq): Constify.

From-SVN: r126925

16 years agore PR rtl-optimization/31500 (FAIL: gcc.dg/Warray-bounds.c (internal compiler error))
John David Anglin [Wed, 25 Jul 2007 18:49:13 +0000 (18:49 +0000)]
re PR rtl-optimization/31500 (FAIL: gcc.dg/Warray-bounds.c (internal compiler error))

PR rtl-optimization/31500
* gcc.dg/Warray-bounds.c: Remove hppa xfails.
* g++.dg/warn/Warray-bounds.C: Likewise.

From-SVN: r126924

16 years agoexpr.c (handled_component_p): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:43:25 +0000 (18:43 +0000)]
expr.c (handled_component_p): Constify.

* expr.c (handled_component_p): Constify.
* fold-const.c (fit_double_type): Likewise.
* real.h (real_value_from_int_cst): Likewise.
* tree-flow-inline.h (gimple_in_ssa_p,
gimple_aliases_computed_p, gimple_addressable_vars,
gimple_call_clobbered_vars, gimple_referenced_vars,
gimple_global_var, gimple_nonlocal_all, gimple_var_anns,
end_htab_p, end_referenced_vars_p, var_ann, function_ann,
may_aliases, end_readonly_imm_use_p, has_zero_uses,
has_single_use, single_imm_use, num_imm_uses, is_exec_stmt,
is_label_stmt, is_global_var, phi_ssa_name_p,
factoring_name_p, is_call_clobbered, tree_common_ann,
op_iter_done, end_imm_use_stmt_p, end_imm_use_on_stmt_p,
unmodifiable_var_p, array_ref_contains_indirect_ref,
ref_contains_array_ref, lookup_subvars_for_var,
var_can_have_subvars, overlap_subvar, gimple_ssa_operands,
gimple_mem_ref_stats): Likewise.
* tree-flow.h (tree_common_ann, var_ann, function_ann,
may_aliases, is_exec_stmt, is_label_stmt,
ref_contains_array_ref, array_ref_contains_indirect_ref,
var_can_have_subvars, overlap_subvar, is_call_clobbered,
unmodifiable_var_p): Likewise.
* tree-gimple.c (is_gimple_min_invariant): Likewise.
* tree-gimple.h (is_gimple_min_invariant): Likewise.
* tree.c (type_hash_list, attribute_hash_list, tree_size,
cst_and_fits_in_hwi, real_value_from_int_cst,
build_real_from_int_cst, integer_zerop, integer_onep,
integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2,
tree_floor_log2, real_zerop, real_onep, real_twop,
real_minus_onep, really_constant_p, purpose_member, chain_member,
list_length, fields_length, int_size_in_bytes, bit_position,
int_bit_position, byte_position, int_byte_position, expr_align,
array_type_nelts, tree_node_structure,
type_contains_placeholder_1, iterative_hash_pointer,
is_attribute_with_length_p, is_attribute_p, check_qualified_type,
tree_map_base_eq, type_hash_list, type_hash_eq,
attribute_hash_list, type_num_arguments, tree_int_cst_equal,
tree_int_cst_lt, tree_int_cst_compare, host_integerp,
tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
simple_cst_list_equal, compare_tree_int, iterative_hash_expr,
int_fits_type_p, get_containing_scope, decl_function_context,
decl_type_context, omp_clause_operand_check_failed,
initializer_zerop, int_cst_value, num_ending_zeros): Likewise.
* tree.h (omp_clause_operand_check_failed, tree_size,
build_real_from_int_cst, array_type_nelts, purpose_member,
tree_int_cst_equal, tree_int_cst_lt, tree_int_cst_compare,
host_integerp, tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
is_attribute_p, check_qualified_type, expr_align,
int_size_in_bytes, bit_position, int_bit_position, byte_position,
int_byte_position, list_length, fields_length, initializer_zerop,
integer_zerop, integer_onep, integer_all_onesp, integer_pow2p,
integer_nonzerop, cst_and_fits_in_hwi, num_ending_zeros,
tree_node_structure, handled_component_p, get_containing_scope,
decl_function_context, decl_type_context, real_zerop,
type_num_arguments, fit_double_type, really_constant_p,
int_fits_type_p, tree_log2, tree_floor_log2, iterative_hash_expr,
compare_tree_int, chain_member, simple_cst_list_equal, real_onep,
real_twop, real_minus_onep, int_cst_value): Likewise.

From-SVN: r126923

16 years agocfglayout.c (insn_scope, insn_line): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:33:26 +0000 (18:33 +0000)]
cfglayout.c (insn_scope, insn_line): Constify.

* cfglayout.c (insn_scope, insn_line): Constify.
* emit-rtl.c (const_int_htab_hash, const_int_htab_eq,
const_double_htab_hash, const_double_htab_eq,
mem_attrs_htab_hash): Likewise.
* loop-iv.c (biv_eq): Likewise.
* print-rtl.c (print_rtx, print_decl_name, print_mem_expr,
print_inline_rtx, debug_rtx, debug_rtx_list, debug_rtx_range,
debug_rtx_find, print_rtl, print_rtl_single, print_simple_rtl):
Likewise.
* rtl-error.c (location_for_asm, diagnostic_for_asm,
error_for_asm, warning_for_asm, _fatal_insn,
_fatal_insn_not_found): Likewise.
* rtl.c (rtx_size, shared_const_p, shallow_copy_rtx_stat,
rtx_equal_p, rtl_check_failed_bounds, rtl_check_failed_type1,
rtl_check_failed_type2, rtl_check_failed_code1,
rtl_check_failed_code2, rtl_check_failed_code_mode,
rtvec_check_failed_bounds, rtl_check_failed_flag): Likewise.
* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
rtl_check_failed_type2, rtl_check_failed_code1,
rtl_check_failed_code2, rtl_check_failed_code_mode,
rtvec_check_failed_bounds, rtl_check_failed_flag, LABEL_KIND,
SET_LABEL_KIND, rhs_regno, subreg_lsb, subreg_regno, subreg_nregs,
shared_const_p, rtx_size, shallow_copy_rtx_stat, rtx_equal_p,
get_pool_mode, insn_line, insn_file, simplify_replace_rtx,
mode_signbit_p, rtx_addr_can_trap_p, nonzero_address_p,
rtx_unstable_p, get_integer_term, get_related_value,
offset_within_block_p, reg_mentioned_p, count_occurrences,
reg_referenced_p, reg_used_between_p, no_labels_between_p,
single_set_2, multiple_sets, set_noop_p, refers_to_regno_p,
reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p,
find_reg_note, find_regno_note, find_reg_equal_equiv_note,
find_constant_src, find_reg_fusage, find_regno_fusage,
pure_call_p, remove_note, side_effects_p, volatile_refs_p,
volatile_insn_p, may_trap_p, may_trap_after_code_motion_p,
may_trap_or_fault_p, inequality_comparisons_p, tablejump_p,
computed_jump_p, auto_inc_p, in_expr_list_p,
remove_node_from_expr_list, loc_mentioned_in_p,
label_is_jump_target_p, reversed_comparison_code_parts,
debug_rtx, debug_rtx_list, debug_rtx_range, debug_rtx_find,
print_mem_expr, print_rtl, print_simple_rtl, print_rtl_single,
print_inline_rtx): Likewise.
* rtlanal.c (covers_regno_p, covers_regno_no_parallel_p,
computed_jump_p_1, nonzero_bits1, rtx_unstable_p,
rtx_addr_can_trap_p_1, rtx_addr_can_trap_p, nonzero_address_p,
get_integer_term, get_related_value, offset_within_block_p,
count_occurrences, reg_mentioned_p, no_labels_between_p,
reg_used_between_p, reg_referenced_p, single_set_2,
multiple_sets, set_noop_p, refers_to_regno_p,
reg_overlap_mentioned_p, dead_or_set_p,
covers_regno_no_parallel_p, covers_regno_p,
dead_or_set_regno_p, find_reg_note, find_regno_note,
find_reg_equal_equiv_note, find_constant_src, find_reg_fusage,
find_regno_fusage, pure_call_p, remove_note, in_expr_list_p,
remove_node_from_expr_list, volatile_insn_p, volatile_refs_p,
side_effects_p, may_trap_p_1, may_trap_p,
may_trap_after_code_motion_p, may_trap_or_fault_p,
inequality_comparisons_p, tablejump_p, computed_jump_p_1,
computed_jump_p, auto_inc_p, loc_mentioned_in_p, subreg_lsb,
subreg_regno, subreg_nregs, label_is_jump_target_p): Likewise.
* simplify-rtx.c (neg_const_int, plus_minus_operand_p,
mode_signbit_p, simplify_replace_rtx, plus_minus_operand_p):
Likewise.
* toplev.h (_fatal_insn_not_found, _fatal_insn, error_for_asm,
warning_for_asm): Likewise.
* tree.h (print_rtl): Likewise.
* varasm.c (get_pool_mode): Likewise.

From-SVN: r126922

16 years agoc-lex.c (c_lex_with_flags, lex_string): Constify.
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:14:57 +0000 (18:14 +0000)]
c-lex.c (c_lex_with_flags, lex_string): Constify.

* c-lex.c (c_lex_with_flags, lex_string): Constify.
* c-ppoutput.c (print_line, pp_dir_change): Likewise.
* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
* cfg.c (bb_copy_original_hash, bb_copy_original_eq): Likewise.
* cfgloop.c (loop_exit_hash, loop_exit_eq): Likewise.
* ddg.c (compare_sccs): Likewise.
* df-scan.c (df_ref_compare, df_mw_compare): Likewise.
* dfp.c (decimal_real_from_string, decimal_to_decnumber,
decimal_to_binary, decimal_do_compare, decimal_real_to_decimal,
decimal_do_fix_trunc, decimal_real_to_integer,
decimal_real_to_integer2, decimal_real_maxval): Likewise.
* dse.c (const_group_info_t): New.
(invariant_group_base_eq, invariant_group_base_hash): Constify.
* dwarf2out.c (const_dw_die_ref): New.
(decl_die_table_hash, decl_die_table_eq, file_info_cmp): Constify.
* tree-browser.c (TB_parent_eq): Likewise.
* unwind-dw2-fde.c (__register_frame_info_bases,
__deregister_frame_info_bases, fde_unencoded_compare, fde_split,
add_fdes, linear_search_fdes, binary_search_unencoded_fdes):
Likewise.
* unwind-dw2-fde.h (get_cie, next_fde): Likewise.
* unwind-dw2.c (uw_frame_state_for): Likewise.
* value-prof.c (histogram_hash, histogram_eq): Likewise.
* value-prof.h (const_histogram_value): New.

From-SVN: r126920

16 years agomips.c (machine_function): Add initialized_mips16_gp_pseudo_p.
Richard Sandiford [Wed, 25 Jul 2007 18:12:15 +0000 (18:12 +0000)]
mips.c (machine_function): Add initialized_mips16_gp_pseudo_p.

gcc/
* config/mips/mips.c (machine_function): Add
initialized_mips16_gp_pseudo_p.
(mips16_gp_pseudo_reg): Do not emit the initialization of
mips16_gp_pseudo_rtx when being called from the gimple cost-
calculation routines; emit it on the first use outside those
routines.

From-SVN: r126919

16 years agocoretypes.h (const_bitmap, [...]): New.
Kaveh R. Ghazi [Wed, 25 Jul 2007 18:00:08 +0000 (18:00 +0000)]
coretypes.h (const_bitmap, [...]): New.

* coretypes.h (const_bitmap, const_rtx, const_rtvec, const_tree):
New.

* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
RTVEC_ELT, XWINT, XCWINT, XCMWINT, XCNMPRV, BLOCK_SYMBOL_CHECK,
RTL_FLAG_CHECK1, RTL_FLAG_CHECK2, RTL_FLAG_CHECK3,
RTL_FLAG_CHECK4, RTL_FLAG_CHECK5, RTL_FLAG_CHECK6,
RTL_FLAG_CHECK7, RTL_FLAG_CHECK8, LABEL_KIND, SET_LABEL_KIND):
Preserve const-ness of parameters through use of __typeof(),
also constify and tidy.

* tree.h (TREE_CHECK, TREE_NOT_CHECK, TREE_CHECK2,
TREE_NOT_CHECK2, TREE_CHECK3, TREE_NOT_CHECK3, TREE_CHECK4,
NON_TREE_CHECK4, TREE_CHECK5, TREE_NOT_CHECK5,
CONTAINS_STRUCT_CHECK, TREE_CLASS_CHECK, TREE_RANGE_CHECK,
OMP_CLAUSE_SUBCODE_CHECK, OMP_CLAUSE_RANGE_CHECK, EXPR_CHECK,
GIMPLE_STMT_CHECK, NON_TYPE_CHECK, TREE_VEC_ELT_CHECK,
PHI_NODE_ELT_CHECK, OMP_CLAUSE_ELT_CHECK, TREE_OPERAND_CHECK,
TREE_OPERAND_CHECK_CODE, GIMPLE_STMT_OPERAND_CHECK,
TREE_RTL_OPERAND_CHECK, TREE_CHAIN, TREE_TYPE): Likewise.

From-SVN: r126918

16 years agoalpha.c (alpha_mangle_fundamental_type): Rename to...
Julian Brown [Wed, 25 Jul 2007 15:43:04 +0000 (15:43 +0000)]
alpha.c (alpha_mangle_fundamental_type): Rename to...

gcc/
* config/alpha/alpha.c (alpha_mangle_fundamental_type): Rename to...
(alpha_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/arm/arm-protos.h (arm_mangle_type): Add prototype.
* config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
(arm_init_neon_builtins): Fix comment.
(arm_mangle_map_entry): New.
(arm_mangle_map): New.
(arm_mangle_type): New.
* config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
(ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/ia64/ia64.c (ia64_mangle_fundamental_type): Rename to...
(ia64_mangle_type): This. Use TYPE_MAIN_VARIANT  and restrict
mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
to...
(rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/s390/s390.c (s390_mangle_fundamental_type): Rename to...
(s390_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* config/sparc/sparc.c (sparc_mangle_fundamental_type): Rename to...
(sparc_mangle_type): This.
(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
(TARGET_MANGLE_TYPE): Define this instead.
* cp/mangle.c (write_type): Call mangle_type target hook on all
types before mangling.  Use original type, not main variant, as
argument.
* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
(TARGET_MANGLE_TYPE): This.
* target.h (gcc_target): Rename mangle_fundamental_type to
mangle_type.
* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
(TARGET_MANGLE_TYPE): This. Note slightly different semantics.

Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r126917

16 years agore PR libstdc++/31836 (FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc...
John David Anglin [Wed, 25 Jul 2007 15:32:33 +0000 (15:32 +0000)]
re PR libstdc++/31836 (FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test)

PR libstdc++/31836
* config/locale/generic/c_locale.cc (__convert_to_v): Don't use
strtold if _GLIBCXX_HAVE_BROKEN_STRTOLD is defined.
* config/os/hpux/os_defines.h (_GLIBCXX_HAVE_BROKEN_STRTOLD): Define
if __hppa__ is defined.

From-SVN: r126914

16 years agocostmodel-vect-reduc-1char.c: Updated.
H.J. Lu [Wed, 25 Jul 2007 13:09:02 +0000 (13:09 +0000)]
costmodel-vect-reduc-1char.c: Updated.

2007-07-25  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/vect/costmodel/x86_64/costmodel-vect-reduc-1char.c: Updated.

From-SVN: r126913

16 years agotreetree.c (tree_code_generate_return): RETURN_EXPRs have volatile type.
Richard Guenther [Wed, 25 Jul 2007 12:46:42 +0000 (12:46 +0000)]
treetree.c (tree_code_generate_return): RETURN_EXPRs have volatile type.

2007-07-25  Richard Guenther  <rguenther@suse.de>

        * treetree.c (tree_code_generate_return): RETURN_EXPRs
        have volatile type.

From-SVN: r126912

16 years agoMakefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
Julian Brown [Wed, 25 Jul 2007 12:28:31 +0000 (12:28 +0000)]
Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.

    gcc/
    * Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
    * config.gcc (arm*-*-*): Add arm_neon.h to extra headers.
    (with_fpu): Allow --with-fpu=neon.
    * config/arm/aof.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
    * config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
    * config/arm/arm-modes.def (EI, OI, CI, XI): New modes.
    * config/arm/arm-protos.h (neon_immediate_valid_for_move)
    (neon_immediate_valid_for_logic, neon_output_logic_immediate)
    (neon_pairwise_reduce, neon_expand_vector_init, neon_reinterpret)
    (neon_emit_pair_result_insn, neon_disambiguate_copy)
    (neon_vector_mem_operand, neon_struct_mem_operand, output_move_quad)
    (output_move_neon): Add prototypes.
    * config/arm/arm.c (FL_NEON): New flag for NEON processor capability.
    (all_fpus): Add FPUTYPE_NEON.
    (fp_model_for_fpu): Add NEON field.
    (arm_return_in_memory): Return vectors <= 16 bytes in ARM registers.
    (arm_arg_partial_bytes): Allow NEON vectors to be passed partially
    in registers.
    (arm_legitimate_address_p): Don't support fancy addressing for NEON
    structure moves.
    (thumb2_legitimate_address_p): Likewise.
    (neon_valid_immediate): Recognize and prepare constants suitable for
    NEON instructions.
    (neon_immediate_valid_for_move): New function. Recognize and prepare
    immediates for NEON move instructions.
    (neon_immediate_valid_for_logic): New function. Recognize and
    prepare immediates for NEON logic instructions.
    (neon_output_logic_immediate): New function. Create asm string
    suitable for outputting immediate logic instructions.
    (neon_pairwise_reduce): New function. Implement reduction using
    pairwise operations.
    (neon_expand_vector_init): New function. Expand a (possibly
    non-constant) vector initialization.
    (neon_vector_mem_operand): New function. Memory operands supported
    for quad-word loads/stores to/from ARM or NEON registers. Don't
    allow base+offset addressing for core regs.
    (neon_struct_mem_operand): New function. Valid mems for NEON
    structure moves.
    (coproc_secondary_reload_class): Enable NEON registers to be loaded
    from neon_vector_mem_operand addresses without a secondary register.
    (add_minipool_forward_ref): Handle >8-byte minipool entries.
    (add_minipool_backward_ref): Likewise.
    (dump_minipool): Likewise.
    (push_minipool_fix): Likewise.
    (output_move_quad): New function. Output quad-word moves, loads and
    stores using ARM registers.
    (output_move_vfp): Add support for vectors in VFP (NEON) D
    registers.
    (output_move_neon): Output a NEON load/store to/from a quadword
    register.
    (arm_print_operand): Implement new codes:
    - 'c' for unadorned integers (without a # sign).
    - 'J', 'K' for reg+2/reg+3, reg+3/reg+2 in little/big-endian
    mode.
    - 'e', 'f' for the low and high D parts of a NEON Q register.
    - 'q' outputs a NEON Q register.
    - 'h' outputs ranges of D registers for VLDM/VSTM etc.
    - 'T' prints NEON opcode features from a coded bitmask.
    - 'F' is similar to T, but signed/unsigned codes both print as
    'i'.
    - 't' is similar to T, but 'u' is printed instead of 'p'.
    - 'O' prints 'r' if NEON instruction should perform rounding (as
    specified by bitmask), else prints nothing.
    - '#' is a punctuation character to stop operand numbers from
    running together with following digits in the assembler
    strings for instructions (when using mode attributes).
    (arm_assemble_integer): Handle extra NEON vector modes. Permute
    constant vectors in big-endian mode, where necessary.
    (arm_hard_regno_mode_ok): Allow vectors in VFP/NEON registers.
    Handle EI, OI, CI, XI modes.
    (ashlv4hi3, ashlv2si3, lshrv4hi3, lshrv2si3, ashrv4hi3)
    (ashrv2si3): Rename IWMMXT2_BUILTINs to...
    (ashlv4hi3_iwmmxt, ashlv2si3_iwmmxt, lshrv4hi3_iwmmxt)
    (lshrv2si3_iwmmxt, ashrv4hi3_iwmmxt, ashrv2si3_iwmmxt): New names.
    (neon_builtin_type_bits): Add enumeration, one bit for each vector
    type.
    (v8qi_UP, v4hi_UP, v2si_UP, v2sf_UP, di_UP, v16qi_UP, v8hi_UP)
    (v4si_UP, v4sf_UP, v2di_UP, ti_UP, ei_UP, oi_UP, UP): Define macros
    to turn v8qi, etc. into bits defined above.
    (neon_itype): New enumeration. Classifications of NEON builtins.
    (neon_builtin_datum): Define struct. Contains information about
    a single builtin (with multiple modes).
    (CF): Define helper macro for...
    (VAR1...VAR10): Define builtins with a type, name and 1-10 different
    modes.
    (neon_builtin_data): New array. Define information about builtins
    for use during initialization/expansion.
    (arm_init_neon_builtins): New function.
    (arm_init_builtins): Call arm_init_neon_builtins if TARGET_NEON is
    true.
    (neon_builtin_compare): New function.
    (locate_neon_builtin_icode): New function. Find an insn code for a
    builtin given a function code for that builtin. Also return type of
    builtin (NEON_BINOP, NEON_UNOP etc.).
    (builtin_arg): New enumeration. Types of arguments for builtins.
    (arm_expand_neon_args): New function. Expand a generic NEON builtin.
    Takes a variable argument list of builtin_arg types, terminated by
    NEON_ARG_STOP.
    (arm_expand_neon_builtin): New function. Expand a NEON builtin.
    (neon_reinterpret): New function. Expand NEON reinterpret intrinsic.
    (neon_emit_pair_result_insn): New function. Support returning pairs
    of vectors via a pointer.
    (neon_disambiguate_copy): New function. Set up operands for a
    multi-word copy such that registers do not get clobbered.
    (arm_expand_builtin): Call arm_expand_neon_builtin if fcode >=
    ARM_BUILTIN_NEON_BASE.
    (arm_file_start): Set float-abi attribute for NEON.
    (arm_vector_mode_supported_p): Enable NEON vector modes.
    (arm_mangle_map_entry): New.
    (arm_mangle_map): New.
    (arm_mangle_vector_type): New.
    * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_NEON__
    when appropriate.
    (TARGET_NEON): New macro. Target supports NEON.
    (fputype): Add FPUTYPE_NEON.
    (UNITS_PER_SIMD_WORD): Define. Allow quad-word registers to be used
    for vectorization based on command-line arg.
    (NEON_REGNO_OK_FOR_NREGS): Define.
    (VALID_NEON_DREG_MODE, VALID_NEON_QREG_MODE)
    (VALID_NEON_STRUCT_MODE): Define.
    (PRINT_OPERAND_PUNCT_VALID_P): '#' is valid punctuation.
    (arm_builtins): Add ARM_BUILTIN_NEON_BASE.
    * config/arm/arm.md (VUNSPEC_POOL_16): Insert constant for unspec.
    (consttable_16): Add pattern for outputting 16-byte minipool
    entries.
    (movv2si, movv4hi, movv8qi): Remove blank expanders (redefined in
    vec-common.md).
    (vec-common.md, neon.md): Include md files.
    * config/arm/arm.opt (mvectorize-with-neon-quad): Add option.
    * config/arm/constraints.md (constraint "Dn", "Dl", "DL"): Define.
    (memory_constraint "Ut", "Un", "Us"): Define.
    * config/arm/iwmmxt.md (VMMX, VSHFT): New mode macros.
    (MMX_char): New mode attribute.
    (addv8qi3, addv4hi3, addv2si3): Remove. Replace with...
    (*add<mode>3_iwmmxt): New insn pattern.
    (subv8qi3, subv4hi3, subv2si3): Remove. Replace with...
    (*sub<mode>3_iwmmxt): New insn pattern.
    (mulv4hi3): Rename to...
    (*mulv4hi3_iwmmxt): This.
    (smaxv8qi3, smaxv4hi3, smaxv2si3, umaxv8qi3, umaxv4hi3)
    (umaxv2si3, sminv8qi3, sminv4hi3, sminv2si3, uminv8qi3)
    (uminv4hi3, uminv2si3): Remove. Replace with...
    (*smax<mode>3_iwmmxt, *umax<mode>3_iwmmxt, *smin<mode>3_iwmmxt)
    (*umin<mode>3_iwmmxt): These.
    (ashrv4hi3, ashrv2si3, ashrdi3_iwmmxt): Replace with...
    (ashr<mode>3_iwmmxt): This new pattern.
    (lshrv4hi3, lshrv2si3, lshrdi3_iwmmxt): Replace with...
    (lshr<mode>3_iwmmxt): This new pattern.
    (ashlv4hi3, ashlv2si3, ashldi3_iwmmxt): Replace with...
    (ashl<mode>3_iwmmxt): This new pattern.
    * config/arm/neon-docgen.ml: New file. Generate documentation for
    intrinsics.
    * config/arm/neon-gen.ml: New file. Generate arm_neon.h header.
    * config/arm/arm_neon.h: New (autogenerated).
    * config/arm/neon-testgen.ml: New file. Generate NEON tests
    automatically.
    * config/arm/neon.md: New file. Define NEON instructions.
    * config/arm/neon.ml: New file. Abstract description of NEON
    instructions, used to generate arm_neon.h header, documentation and tests.
    * config/arm/t-arm (MD_INCLUDES): Add vec-common.md, neon.md.
    * vec-common.md: New file. Shared parts for iWMMXt and NEON vector
    support.
    * doc/extend.texi (ARM Built-in Functions): Rename and remove
    extraneous comma.
    (ARM NEON Intrinsics): New subsection.
    * doc/arm-neon-intrinsics.texi: New (autogenerated).

    gcc/testsuite/
    * gcc.dg/vect/vect.exp: Check is-effective-target arm_neon_hw.
    * gcc.dg/vect/tree-vect.h: Check for NEON SIMD support.
    * lib/gcc-dg.exp (cleanup-saved-temps): Fix comment.
    * lib/target-supports.exp (check_effective_target_arm_neon_ok)
    (check_effective_target_arm_neon_hw): New.
    * gcc.target/arm/neon/neon.exp: New file.
    * gcc.target/arm/neon/polytypes.c: New file.
    * gcc.target/arm/neon/v*.c (1870 files): New (autogenerated).

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r126911

16 years agodump-noaddr.c: Reduce string length for targets where an "int" is less than 32 bits...
Janis Johnson [Wed, 25 Jul 2007 12:01:29 +0000 (12:01 +0000)]
dump-noaddr.c: Reduce string length for targets where an "int" is less than 32 bits wide.

2007-07-25  Janis Johnson  <janis187@us.ibm.com>

* gcc.c-torture/unsorted/dump-noaddr.c: Reduce string length for
  targets where an "int" is less than 32 bits wide.

From-SVN: r126910

16 years ago20070725-1.c: Testcase for revision 126876 added.
Andreas Krebbel [Wed, 25 Jul 2007 11:18:16 +0000 (11:18 +0000)]
20070725-1.c: Testcase for revision 126876 added.

2007-07-25  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcc.dg/20070725-1.c: Testcase for revision 126876 added.

From-SVN: r126909

16 years agopredcom-1.c (count_averages): Avoid overflow during addition if an int is only 16...
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 11:13:41 +0000 (13:13 +0200)]
predcom-1.c (count_averages): Avoid overflow during addition if an int is only 16 bits wide.

* gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow
  during addition if an int is only 16 bits wide.
* gcc.dg/tree-ssa/predcom-2.c (fib): Avoid overflow of 16-bit int.

From-SVN: r126908

16 years agopr29584.c: Only run test if pointers have the same size as "long int" and are 32...
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 10:58:48 +0000 (12:58 +0200)]
pr29584.c: Only run test if pointers have the same size as "long int" and are 32 or 64...

* gcc.dg/torture/pr29584.c: Only run test if pointers have the same
  size as "long int" and are 32 or 64 bits wide.
* gcc.dg/torture/pr28814.c: Likewise.

From-SVN: r126907

16 years agopr30313.c (struct S): Make sure the bit-field is exactly as wide as an int.
Rask Ingemann Lambertsen [Wed, 25 Jul 2007 10:54:52 +0000 (12:54 +0200)]
pr30313.c (struct S): Make sure the bit-field is exactly as wide as an int.

* gcc.dg/torture/pr30313.c (struct S): Make sure the bit-field is
  exactly as wide as an int.

From-SVN: r126906

16 years ago* config/i386/i386-protos.h (i386_pe_asm_file_end): Remove prototype.
Danny Smith [Wed, 25 Jul 2007 09:55:24 +0000 (09:55 +0000)]
* config/i386/i386-protos.h (i386_pe_asm_file_end): Remove prototype.

From-SVN: r126905

16 years agostruct-layout-1_generate.c (COMPAT_PRLL): Define and use throughout as long long...
Danny Smith [Wed, 25 Jul 2007 07:34:52 +0000 (07:34 +0000)]
struct-layout-1_generate.c (COMPAT_PRLL): Define and use throughout as long long printf format specifier.

* gcc.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL):
Define and use throughout as long long printf format specifier.
* g++.dg/compat/struct-layout-1_generate.c (COMPAT_PRLL):
Likewise.

From-SVN: r126903

16 years agoternary.h: Remove.
Ben Elliston [Wed, 25 Jul 2007 06:26:45 +0000 (06:26 +0000)]
ternary.h: Remove.

include/
* ternary.h: Remove.

libiberty/
* Makefile.in (CFILES): Remove ternary.c.
(REQUIRED_OFILES): Remove ./ternary.o.
(INSTALLED_HEADERS): Remove ternary.h.
(ternary.o): Remove.
* ternary.c: Remove.

From-SVN: r126902

16 years agoregclass.c (move_table): New type.
Jan Hubicka [Wed, 25 Jul 2007 05:58:40 +0000 (07:58 +0200)]
regclass.c (move_table): New type.

* regclass.c (move_table): New type.
(move_cost, may_move_in_cost, may_move_out_cost): Use it.
(init_move_cost): Break out from ...
(init_reg_sets_1): ... here; simplify computation of
have_regs-of_mode and contains_reg_of_mode.
(record_reg_classes): Unswitch internal loops.
(copy_cost): Trigger lazy initialization of move cost
(record_address_regs): Likewise.

From-SVN: r126901

16 years agodarwin.c (darwin_override_options): Don't force on flag_var_tracking_uninit when...
Daniel Berlin [Wed, 25 Jul 2007 04:12:12 +0000 (04:12 +0000)]
darwin.c (darwin_override_options): Don't force on flag_var_tracking_uninit when no debug info is requested.

2007-07-24  Daniel Berlin  <dberlin@dberlin.org>

* config/darwin.c (darwin_override_options): Don't force on
flag_var_tracking_uninit when no debug info is requested.

From-SVN: r126900

16 years agofe-convert-2.c: Unconditionally enable testing for converting from 1.0e-96 and 0...
H.J. Lu [Wed, 25 Jul 2007 01:17:11 +0000 (01:17 +0000)]
fe-convert-2.c: Unconditionally enable testing for converting from 1.0e-96 and 0.00048828125 to...

2007-07-24  H.J. Lu  <hongjiu.lu@intel.com>

*  gcc.dg/dfp/fe-convert-2.c: Unconditionally enable testing
for converting from 1.0e-96 and 0.00048828125 to _Decimal32.

From-SVN: r126898

16 years agoDaily bump.
GCC Administrator [Wed, 25 Jul 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r126896

16 years ago* gcc.dg/dfp/fe-convert-1.c: Fix typo in comments.
Ben Elliston [Tue, 24 Jul 2007 23:41:15 +0000 (23:41 +0000)]
* gcc.dg/dfp/fe-convert-1.c: Fix typo in comments.

From-SVN: r126892

16 years agocfgloop.c (init_loops_structure): New function.
Zdenek Dvorak [Tue, 24 Jul 2007 23:31:28 +0000 (01:31 +0200)]
cfgloop.c (init_loops_structure): New function.

* cfgloop.c (init_loops_structure): New function.
(flow_loops_find): Create root of the loop tree unconditionally.

From-SVN: r126891

16 years agotree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.
Daniel Jacobowitz [Tue, 24 Jul 2007 19:44:17 +0000 (19:44 +0000)]
tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.

* tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.

* gcc.c-torture/execute/20070724-1.c: New.

From-SVN: r126888

16 years agore PR fortran/31205 (aliased operator assignment produces wrong result)
Paul Thomas [Tue, 24 Jul 2007 19:16:36 +0000 (19:16 +0000)]
re PR fortran/31205 (aliased operator assignment produces wrong result)

2007-07-24 Paul Thomas <pault@gcc.gnu.org>

PR fortran/31205
PR fortran/32842
* trans-expr.c (gfc_conv_function_call): Remove the default
initialization of intent(out) derived types.
* symbol.c (gfc_lval_expr_from_sym): New function.
* matchexp.c (gfc_get_parentheses): Return argument, if it is
character and posseses a ref.
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
* resolve.c (has_default_initializer): Move higher up in file.
(resolve_code): On detecting an interface assignment, check
if the rhs and the lhs are the same symbol.  If this is so,
enclose the rhs in parenetheses to generate a temporary and
prevent any possible aliasing.
(apply_default_init): Remove code making the lval and call
gfc_lval_expr_from_sym instead.
(resolve_operator): Give a parentheses expression a type-
spec if it has no type.
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
initializer, if any, to an intent(out) derived type, using
gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
the dummy is present.

2007-07-24 Paul Thomas <pault@gcc.gnu.org>

PR fortran/31205
* gfortran.dg/alloc_comp_basics_1.f90 : Restore number of
"deallocates" to 24, since patch has code rid of much spurious
code.
* gfortran.dg/interface_assignment_1.f90 : New test.

PR fortran/32842
* gfortran.dg/interface_assignment_2.f90 : New test.

From-SVN: r126886

16 years agore PR fortran/31205 (aliased operator assignment produces wrong result)
Paul Thomas [Tue, 24 Jul 2007 19:15:27 +0000 (19:15 +0000)]
re PR fortran/31205 (aliased operator assignment produces wrong result)

2007-07-24 Paul Thomas <pault@gcc.gnu.org>

PR fortran/31205
PR fortran/32842
* trans-expr.c (gfc_conv_function_call): Remove the default
initialization of intent(out) derived types.
* symbol.c (gfc_lval_expr_from_sym): New function.
* matchexp.c (gfc_get_parentheses): Return argument, if it is
character and posseses a ref.
* gfortran.h : Add prototype for gfc_lval_expr_from_sym.
* resolve.c (has_default_initializer): Move higher up in file.
(resolve_code): On detecting an interface assignment, check
if the rhs and the lhs are the same symbol.  If this is so,
enclose the rhs in parenetheses to generate a temporary and
prevent any possible aliasing.
(apply_default_init): Remove code making the lval and call
gfc_lval_expr_from_sym instead.
(resolve_operator): Give a parentheses expression a type-
spec if it has no type.
* trans-decl.c (gfc_trans_deferred_vars): Apply the a default
initializer, if any, to an intent(out) derived type, using
gfc_lval_expr_from_sym and gfc_trans_assignment.  Check if
the dummy is present.

2007-07-24 Paul Thomas <pault@gcc.gnu.org>

PR fortran/31205
* gfortran.dg/alloc_comp_basics_1.f90 : Restore number of
"deallocates" to 24, since patch has code rid of much spurious
code.
* gfortran.dg/interface_assignment_1.f90 : New test.

PR fortran/32842
* gfortran.dg/interface_assignment_2.f90 : New test.

From-SVN: r126885

16 years agomethod.c (implicitly_declare_fn): Increase alignment if member function pointer forma...
Nathan Sidwell [Tue, 24 Jul 2007 18:32:48 +0000 (18:32 +0000)]
method.c (implicitly_declare_fn): Increase alignment if member function pointer format requires it.

* method.c (implicitly_declare_fn): Increase alignment if member
function pointer format requires it.

From-SVN: r126884

16 years agore PR fortran/32867 (ICE on nested initialization expressions)
Daniel Franke [Tue, 24 Jul 2007 16:57:02 +0000 (12:57 -0400)]
re PR fortran/32867 (ICE on nested initialization expressions)

gcc/fortran:
2007-07-24  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32867
* expr.c (check_init_expr): Simplify matched functions.

gcc/testsuite:
2007-07-24  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32867
* fortran.dg/initialization_10.f90: New test.

From-SVN: r126882

16 years agore PR fortran/32778 (pedantic warning: intrinsics that are GNU extensions not part...
Daniel Franke [Tue, 24 Jul 2007 16:45:32 +0000 (12:45 -0400)]
re PR fortran/32778 (pedantic warning: intrinsics that are GNU extensions not part of -std=gnu)

gcc/fortran:
2007-07-24  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32778
* intrinsic.c (add_sym): Do not exclude any symbols, even if not part
of the selected standard.
(make generic): Likewise.
(make alias): Likewise, set standard the alias belongs to.
(add_subroutines): Call make_noreturn unconditionally.
(check_intrinsic_standard): Change return value to try.
(gfc_intrinsic_func_interface): Check return value of above function.
(gfc_intrinsic_sub_interface): Likewise.

gcc/testsuite:
2007-07-24  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32778
* gfortran.dg/imag_2.f: Removed
* gfortran.dg/warn_std_1.f90: New test.
* gfortran.dg/warn_std_2.f90: New test.
* gfortran.dg/warn_std_3.f90: New test.

From-SVN: r126881

16 years agocaller-save.c: Include ggc.h, gt-caller-save.h
Jan Hubicka [Tue, 24 Jul 2007 14:56:37 +0000 (16:56 +0200)]
caller-save.c: Include ggc.h, gt-caller-save.h

* caller-save.c: Include ggc.h, gt-caller-save.h
(reg_save_code, reg_restore_code): Rename to ...
(cached_reg_save_code, cached_reg_restore_code): ... those.
(savepat, restpat, test_reg, test_mem, saveinsn, restinsn): New.
(reg_save_code, reg_restore_code): New functions.
(init_caller_save): Do not intialize
reg_save_code/reg_restore_code tables.
* Makeifle.in: (gt-caller-save.h): New.

From-SVN: r126879

16 years agoChangeLog: Correct entry.
Tobias Burnus [Tue, 24 Jul 2007 12:58:20 +0000 (14:58 +0200)]
ChangeLog: Correct entry.

gcc/fortran/
2007-07-24  Tobias Burnus  <burnus@net-b.de>

* ChangeLog: Correct entry.

libgfortran/
2007-07-24  Tobias Burnus  <burnus@net-b.de>

       * libgfortran.h:  Add bounds_check to compile_options_t.

From-SVN: r126877

16 years agotree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand with the mode of the...
Andreas Krebbel [Tue, 24 Jul 2007 12:53:14 +0000 (12:53 +0000)]
tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand with the mode of the original operand instead of integer_one_node.

2007-07-24  Andreas Krebbel  <krebbel1@de.ibm.com>

* tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand
with the mode of the original operand instead of
integer_one_node.

From-SVN: r126876

16 years agore PR c++/29001 (ICE on invalid return from operator new)
Paolo Carlini [Tue, 24 Jul 2007 11:08:27 +0000 (11:08 +0000)]
re PR c++/29001 (ICE on invalid return from operator new)

/cp
2007-07-24  Paolo Carlini  <pcarlini@suse.de>

PR c++/29001
* typeck.c (check_return_expr): Do not pass a null argument
to null_ptr_cst_p.

2007-07-24  Paolo Carlini  <pcarlini@suse.de>

PR c++/32561
* decl.c (redeclaration_error_message): Call DECL_ANON_UNION_VAR_P
only on VAR_DECL.

/testsuite
2007-07-24  Paolo Carlini  <pcarlini@suse.de>

PR c++/29001
* g++.dg/init/new22.C: New.

2007-07-24  Paolo Carlini  <pcarlini@suse.de>

PR c++/32561
* g++.dg/template/crash67.C: New.

From-SVN: r126873

16 years ago2007-07-24 Dorit Nuzman <dorit@il.ibm.com>
Dorit Nuzman [Tue, 24 Jul 2007 09:20:50 +0000 (09:20 +0000)]
2007-07-24  Dorit Nuzman  <dorit@il.ibm.com>

        * lib/target-support.exp (check_effective_target_natural_alignment):
        (check_effective_target_vector_alignment_reachable): New.
        * config/spu/spu.c (spu_vector_alignment_reachable): New.
        (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
        * * gcc.dg/vect/pr25413a.c: Use vector_alignment_reachable target
        check.
        * gcc.dg/vect/pr25413.c: Likewise.
        * gcc.dg/vect/pr31699.c: Likewise.

From-SVN: r126872

16 years agoFix typo.
Richard Sandiford [Tue, 24 Jul 2007 07:57:17 +0000 (07:57 +0000)]
Fix typo.

From-SVN: r126869

16 years agore PR fortran/30814 (non-conforming array sizes in PACK should raise an error)
Thomas Koenig [Tue, 24 Jul 2007 05:52:44 +0000 (05:52 +0000)]
re PR fortran/30814 (non-conforming array sizes in PACK should raise an error)

2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/30814
* trans-decl.c (generate_function_code):  Add argument
for flag_bounds_check to the array for set_options.
* invoke.texi:  Mention that some checks require
-fbounds-check to be set during compilation of the
main program.

2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/30814
* libgfortran.h:  Add bounds_check to compile_options_t.
* runtime/compile_options.c (set_options):  Add handling
of compile_options.bounds_check.
* intrinsics/pack_generic.c (pack_internal):  Also determine
the number of elements if compile_options.bounds_check is
true.  Raise runtime error if a different array shape is
detected.

2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/30814
* gfortran.dg/pack_bounds_1.f90:  New test case.

From-SVN: r126866

16 years agoDaily bump.
GCC Administrator [Tue, 24 Jul 2007 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r126864

16 years agoi386.c (ix86_secondary_memory_needed): Break out to...
Jan Hubicka [Mon, 23 Jul 2007 23:07:46 +0000 (23:07 +0000)]
i386.c (ix86_secondary_memory_needed): Break out to...

* i386.c (ix86_secondary_memory_needed): Break out to...
(inline_secondary_memory_needed): ... here.
(ix86_memory_move_cost): Break out to ...
(inline_memory_move_cost): ... here; add support for IN value of 2 for
maximum of input and output; fix handling of Q_REGS on 64bit.
(ix86_secondary_memory_needed): Microoptimize.

From-SVN: r126861

16 years agotree-data-ref.c (find_vertex_for_stmt, [...]): New.
Sebastian Pop [Mon, 23 Jul 2007 22:30:38 +0000 (22:30 +0000)]
tree-data-ref.c (find_vertex_for_stmt, [...]): New.

* tree-data-ref.c (find_vertex_for_stmt, create_rdg_edge_for_ddr,
create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
stmts_from_loop, known_dependences_p, build_rdg): New.
* tree-data-ref.h: Depends on graphds.h.
(rdg_vertex, RDGV_STMT, rdg_dep_type, rdg_edge, RDGE_TYPE): New.
(build_rdg): Declared.
* Makefile.in (TREE_DATA_REF_H): Depends on graphds.h.

From-SVN: r126859

16 years agore PR fortran/25104 ([F2003] Non-initialization expr. as case-selector)
Daniel Franke [Mon, 23 Jul 2007 20:35:03 +0000 (16:35 -0400)]
re PR fortran/25104 ([F2003] Non-initialization expr. as case-selector)

gcc/fortran:
2007-07-23  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/25104
PR fortran/31639
* expr.c (check_transformational): Reject valid transformational
intrinsics to avoid ICE.
(check_inquiry): Report error for assumed character lengths for
all supported standards.
(check_init_expr): Whitespace fix.

gcc/testsuite:
2007-07-23  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/31639
* gfortran.dg/initialization_9.f90: New test.

From-SVN: r126858

16 years agotree-ssa-propagate.c (valid_gimple_expression_p): Match up with ccp_min_invariant.
Daniel Berlin [Mon, 23 Jul 2007 19:11:05 +0000 (19:11 +0000)]
tree-ssa-propagate.c (valid_gimple_expression_p): Match up with ccp_min_invariant.

2007-07-23  Daniel Berlin  <dberlin@dberlin.org>

* tree-ssa-propagate.c (valid_gimple_expression_p): Match up with
ccp_min_invariant.

From-SVN: r126857

16 years agore PR fortran/32797 ([ISO C Binding] Internal Error: gfc_basic_typename(): Undefined...
Christopher D. Rickett [Mon, 23 Jul 2007 17:47:16 +0000 (17:47 +0000)]
re PR fortran/32797 ([ISO C Binding] Internal Error: gfc_basic_typename(): Undefined type)

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32797
        PR fortran/32800
        * decl.c (verify_bind_c_sym): Use the result symbol for functions
        with a result clause.  Warn if implicitly typed.  Verify the type
        and rank of the SHAPE argument, if given.
        * resolve.c (gfc_iso_c_sub_interface): Use gfc_procedure_use to
        check the actual args against the formal, sorting them if
        necessary.
        * symbol.c (gen_shape_param): Initialize type of SHAPE param to
        BT_VOID.

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32797
        PR fortran/32800
        * gfortran.dg/bind_c_usage_8.f03: New test case.
        * gfortran.dg/c_f_pointer_tests_2.f03: Ditto.
        * gfortran.dg/c_ptr_tests_5.f03: Updated expected error message.

From-SVN: r126856

16 years agoargv.c (writeargv): Fix typo in inline documentation.
DJ Delorie [Mon, 23 Jul 2007 17:29:17 +0000 (13:29 -0400)]
argv.c (writeargv): Fix typo in inline documentation.

* argv.c (writeargv): Fix typo in inline documentation.
* functions.texi: Regenerate.

From-SVN: r126855

16 years agoPR middle-end/PR28690
Peter Bergner [Mon, 23 Jul 2007 16:43:24 +0000 (11:43 -0500)]
PR middle-end/PR28690

PR middle-end/PR28690
* optabs.c (expand_binop): (emit_cmp_and_jump_insns): Allow EQ compares.
* rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER
and MEM_POINTER operands over REG and MEM operands.
(swap_commutative_operands_p): Change return value to bool.
* rtl.h: Update the corresponding prototype.
* tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary
instead of gen_rtx_PLUS.
* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Change return
value to bool.  Change function arguments to rtx's and update code
to match.
(simplify_plus_minus): Update the simplify_plus_minus_op_data_cmp
calls to match the new declaration.
* simplify-rtx.c (simplify_associative_operation): Don't
reorder simplify_binary_operation arguments.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r126852

16 years agoconfigure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
Rainer Orth [Mon, 23 Jul 2007 12:51:36 +0000 (12:51 +0000)]
configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.

* configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
* configure: Regenerate.

From-SVN: r126847

16 years agomips.c (override_options): Use mips_costs to derive the default branch cost.
Richard Sandiford [Mon, 23 Jul 2007 12:49:45 +0000 (12:49 +0000)]
mips.c (override_options): Use mips_costs to derive the default branch cost.

gcc/
* config/mips/mips.c (override_options): Use mips_costs to derive
the default branch cost.
* config/mips/mips.h (BRANCH_COST): Use mips_branch_cost rather
than mips_costs.
* config/mips/mips.opt (mbranch-cost=): New option.
* doc/invoke.texi (-mbrach-cost): Document new MIPS option.

gcc/testsuite/
* gcc.target/mips/branch-cost-1.c: New test.
* gcc.target/mips/branch-cost-2.c: Likewise.

From-SVN: r126846

16 years agoFix last changelog.
Richard Sandiford [Mon, 23 Jul 2007 12:16:17 +0000 (12:16 +0000)]
Fix last changelog.

From-SVN: r126845

16 years agomips.h (GR_REG_CLASS_P, [...]): Delete.
Richard Sandiford [Mon, 23 Jul 2007 12:11:14 +0000 (12:11 +0000)]
mips.h (GR_REG_CLASS_P, [...]): Delete.

gcc/
* config/mips/mips.h (GR_REG_CLASS_P, COP_REG_CLASS_P): Delete.
(SECONDARY_MEMORY_NEEDED): Delete commented-out definition.
* config/mips/mips.c (mips_init_libfuncs): Use reg_class_subset_p
instead of GR_REG_CLASS_P and COP_REG_CLASS_P.

From-SVN: r126844

16 years agoFix last changelog.
Richard Sandiford [Mon, 23 Jul 2007 12:06:40 +0000 (12:06 +0000)]
Fix last changelog.

From-SVN: r126843

16 years agoconstraints.md (ks): New constraint.
Richard Sandiford [Mon, 23 Jul 2007 12:04:48 +0000 (12:04 +0000)]
constraints.md (ks): New constraint.

gcc/
* config/mips/constraints.md (ks): New constraint.
* config/mips/mips.md (*add<mode>3_sp1, *add<mode>3_sp2): Fold into...
(*add<mode>3_mips16): ...here and fix their length calculations.

From-SVN: r126842

16 years agore PR fortran/32732 ([Bind C] Character scalars are passed as arrays)
Christopher D. Rickett [Mon, 23 Jul 2007 09:03:30 +0000 (09:03 +0000)]
re PR fortran/32732 ([Bind C] Character scalars are passed as arrays)

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

       PR fortran/32732
       * trans-decl.c (generate_local_decl): Convert the TREE_TYPE for by
       value character dummy args of BIND(C) procedures.
       * trans-expr.c (gfc_conv_variable): Do not build address
       expression for BT_CHARACTER dummy args.

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

       PR fortran/32732
       * gfortran.dg/c_char_tests.f03: New test case.
       * gfortran.dg/c_char_driver.c: Driver for c_char_tests.f03.
       * gfortran.dg/c_char_tests_2.f03: New test case.
       * gfortran.dg/value_6.f03: Ditto.
       * gfortran.dg/value_7.f03: Ditto.

From-SVN: r126836

16 years agore PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function)
Christopher D. Rickett [Mon, 23 Jul 2007 06:03:33 +0000 (06:03 +0000)]
re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function)

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>
    Tobias Burnus  <burnus@net-b.de>

PR fortran/32600
* trans-expr.c (gfc_conv_function_call): Handle c_funloc.
* trans-types.c: Add pfunc_type_node.
(gfc_init_types,gfc_typenode_for_spec): Use it.
* resolve.c (gfc_iso_c_func_interface): Fix whitespace and
improve error message.

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32600
* intrinsics/iso_c_binding.c (c_funloc): Remove.
* intrinsics/iso_c_binding.h: Remove c_funloc.
* gfortran.map: Ditto.

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32600
* gfortran.dg/c_funloc_tests_5.f03: New.
* gfortran.dg/c_funloc_tests_5.f04: New.
* gfortran.dg/c_funloc_tests_4_driver.c: New.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r126835

16 years agoread.c (convert_real): Generate error only on EINVAL.
Jerry DeLisle [Mon, 23 Jul 2007 02:42:05 +0000 (02:42 +0000)]
read.c (convert_real): Generate error only on EINVAL.

2007-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io/read.c (convert_real): Generate error only on EINVAL.

From-SVN: r126834

16 years agoDaily bump.
GCC Administrator [Mon, 23 Jul 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r126832

16 years agore PR c++/32839 (internal compiler error: Segmentation fault (templates))
Nathan Sidwell [Sun, 22 Jul 2007 18:46:51 +0000 (18:46 +0000)]
re PR c++/32839 (internal compiler error: Segmentation fault (templates))

cp/
PR c++/32839
* typeck.c (convert_arguments): Only use default args if we have
a function decl.

testsuite/
PR c++/32839
* g++.dg/expr/call4.C: New.
* g++.dg/expr/call5.C: New.

From-SVN: r126829

16 years agore PR fortran/32710 (ICE: namelist and subroutine with the same name)
Daniel Franke [Sun, 22 Jul 2007 16:37:12 +0000 (12:37 -0400)]
re PR fortran/32710 (ICE: namelist and subroutine with the same name)

gcc/fortran:
2007-07-22  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32710
* parse.c (gfc_fixup_sibling_symbols): No replacement of symbols if
the current is a namelist.

gcc/testsuite:
2007-07-22  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32710
* gfortran.dg/namelist_30.f90: New test.

From-SVN: r126828

16 years agoChangeLogs for r126826.
Daniel Franke [Sun, 22 Jul 2007 16:34:31 +0000 (12:34 -0400)]
ChangeLogs for r126826.

From-SVN: r126827

16 years agore PR fortran/29962 (Initialization expressions)
Daniel Franke [Sun, 22 Jul 2007 16:31:11 +0000 (12:31 -0400)]
re PR fortran/29962 (Initialization expressions)

gcc/fortran:
2007-07-22  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/29962
PR fortran/31253
PR fortran/31265
PR fortran/31639
* gfortran.h (gfc_intrinsic_sym): Changed members elemental, pure,
generic, specific, actual_ok, noreturn into bits of a bitfield,
added bits for inquiry, transformational, conversion.
* check.c (non_init_transformational): Removed, removed all callers.
* intrinsic.c (enum class): New.
(add_sym*): Replaced argument elemetal by enum class. Changed all
callers.
(add_functions): Assign appropriate classes to intrinsic functions.
(add_subroutines): Assign appropriate classes to intrinsic subroutines.
(add_conv): Set conversion attribute.
(gfc_init_expr_extensions): Removed, removed all callers.
(gfc_intrinsic_func_interface): Reimplemented check for non-standard
initializatione expressions.
* expr.c (check_specification_function): New.
(gfc_is_constant_expr): Added check for specification functions.
(check_init_expr_arguments): New.
(check_inquiry): Changed return value to MATCH, added checks for
inquiry functions defined by F2003.
(check_transformational): New.
(check_null): New.
(check_elemental): New.
(check_conversion): New.
(check_init_expr): Call new check functions, add more specific error
messages.

gcc/testsuite:
2007-07-22  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/29962
* gfortran.dg/array_initializer_1.f90: Removed warning.
* gfortran.dg/initialization_1.f90: Adjusted messages.
* gfortran.dg/nested_modules_6.f90: Removed warning.

PR fortran/31253
* gfortran.dg/initialization_7.f90: New test.

PR fortran/31639
* gfortran.dg/initialization_8.f90: New test.

From-SVN: r126826

16 years agore PR c++/30818 (templates and typedefs cause function prototype not to match)
Nathan Sidwell [Sun, 22 Jul 2007 16:25:54 +0000 (16:25 +0000)]
re PR c++/30818 (templates and typedefs cause function prototype not to match)

cp/
PR c++/30818
* typeck.c (structural_comptypes): No need to check
resolve_typename_type return value here.
* cp-tree.h (TYPENAME_IS_RESOLVING_P): New.
* pt.c (resolve_typename_type): Follow typename typedefs.  Return
original type rather than error_mark_node in case of failure.
* parser.c (cp_parser_nested_name_specifier_opt): Adjust
resolve_typename_type result check.
(cp_parser_direct_declarator, cp_parser_head,
cp_parser_constructor_declarator_p): Likewise.

testsuite/
PR c++/30818
* g++.dg/template/crash47.C: Adjust errors.
* g++.dg/template/crash48.C: Adjust errors.
* g++.dg/template/typename12.C: New.
* g++.dg/template/typename13.C: New.
* g++.dg/template/typename14.C: New.
* g++.dg/template/typedef6.C: Adjust errors.

From-SVN: r126825

16 years agoAdd missing ChangeLog entry.
H.J. Lu [Sun, 22 Jul 2007 14:50:23 +0000 (07:50 -0700)]
Add missing ChangeLog entry.

From-SVN: r126824

17 years agoDaily bump.
GCC Administrator [Sun, 22 Jul 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r126820

17 years agore PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE)
Christopher D. Rickett [Sat, 21 Jul 2007 23:45:44 +0000 (23:45 +0000)]
re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE)

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * resolve.c (set_name_and_label): Set kind number for character
        version of c_f_pointer.
        (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
        that of the actual SHAPE arg.
        * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer
        for character/string arguments.
        * libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow
        the optional SHAPE arg to be any valid integer kind.
        * libgfortran/gfortran.map: Add c_f_pointer_s0.
        * libgfortran/mk-kinds-h.sh: Save smallest integer kind as default
        character kind.
        * libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of
        c_f_pointer for complex and logical types.
        * libgfortran/gfortran.map: Add c_f_pointer versions for logical
        and complex types.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * gfortran.dg/pr32627_driver.c: Driver for pr32627.
        * gfortran.dg/pr32627.f03: New test case.
        * gfortran.dg/c_f_pointer_logical.f03: New test case.
        * gfortran.dg/c_f_pointer_logical_driver.c: Driver for
        c_f_pointer_logical.
        * gfortran.dg/c_f_pointer_complex_driver.c: Driver for
        c_f_pointer_complex.
        * gfortran.dg/c_f_pointer_complex.f03: New test case.
        * gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Driver for
        c_f_pointer_shape_tests_2.
        * gfortran.dg/c_f_pointer_shape_tests_2.f03: New test case.

From-SVN: r126817

17 years ago* genopinit.c (optabs): Missed commit from my previous commit.
Uros Bizjak [Sat, 21 Jul 2007 21:47:43 +0000 (23:47 +0200)]
* genopinit.c (optabs): Missed commit from my previous commit.

From-SVN: r126814

17 years agooptabs.h (enum optab_index): Add new OTI_signbit.
Uros Bizjak [Sat, 21 Jul 2007 21:45:06 +0000 (23:45 +0200)]
optabs.h (enum optab_index): Add new OTI_signbit.

        * optabs.h (enum optab_index): Add new OTI_signbit.
        (signbit_optab): Define corresponding macro.
        (enum insn_code signbit_optab[]): Remove array.
        * optabs.c (init_optabs): Initialize signbit_optab using init_optab.
        (expand_copysign_absneg): If back end provides signbit insn, use it
        instead of bit operations on floating point argument.
        * builtins.c (enum insn_code signbit_optab[]): Remove array.
        (expand_builtin_signbit): Check signbit_optab->handlers[].insn_code for
        availability of signbit insn.

        * config/i386/i386.md (signbit<mode>2): New insn pattern to implement
        signbitf, signbit and signbitl built-ins as inline x87 intrinsics when
        SSE mode is not active.
        (isinf<mode>2): Disable for mfpmath=sse,387.

From-SVN: r126813

17 years agore PR fortran/32801 (USE of ISO_C_BINDING, ONLY: C_LOC causes compiler seg fault)
Christopher D. Rickett [Sat, 21 Jul 2007 20:31:17 +0000 (20:31 +0000)]
re PR fortran/32801 (USE of ISO_C_BINDING, ONLY: C_LOC causes compiler seg fault)

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32801
        * symbol.c (generate_isocbinding_symbol): Remove unnecessary
        conditional.

        PR fortran/32804
        * resolve.c (gfc_iso_c_func_interface): Reject assumed-shape and
        deferred-shape arrays as args to C_LOC.  Fix bug in testing
        character args to C_LOC.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32804
        * gfortran.dg/c_loc_tests_9.f03: New test case.
        * gfortran.dg/c_loc_tests_10.f03: Ditto.

From-SVN: r126812

17 years agoregclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to `class' parameter.
Ben Elliston [Sat, 21 Jul 2007 20:27:18 +0000 (20:27 +0000)]
regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to `class' parameter.

* regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to
`class' parameter.
* struct-equiv.c (note_local_live): Likewise for `y_regno'.

From-SVN: r126811

17 years agore PR fortran/32823 (internal compiler error: in gfc_trans_assignment_1)
Lee Millward [Sat, 21 Jul 2007 17:59:39 +0000 (17:59 +0000)]
re PR fortran/32823 (internal compiler error: in gfc_trans_assignment_1)

        PR fortran/32823
        * trans-intrinsic.c (gfc_conv_intrinsic_int): Evaluate all
        arguments passed, not just the first one. Adjust code to refer
        to "args[0]" instead of "arg" as a result.

        * gfortran.dg/int_2.f90: New test.

From-SVN: r126810

17 years ago* gcc.dg/inline-23.c: Use pointer sized type for cast from pointer.
Rask Ingemann Lambertsen [Sat, 21 Jul 2007 09:30:24 +0000 (11:30 +0200)]
* gcc.dg/inline-23.c: Use pointer sized type for cast from pointer.

From-SVN: r126809

17 years agoDaily bump.
GCC Administrator [Sat, 21 Jul 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r126807

17 years agotree-cfg.c (verify_expr): COND_EXPRs can have any integral typed condition.
Richard Guenther [Fri, 20 Jul 2007 18:10:57 +0000 (18:10 +0000)]
tree-cfg.c (verify_expr): COND_EXPRs can have any integral typed condition.

2007-07-20  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_expr): COND_EXPRs can have any
integral typed condition.
* tree-ssa.c (useless_type_conversion_p): Do not preserve
booleanness.  Only preserve conversions from a non-base
type to a base type, not in general between types with
different TYPE_MIN_VALUE or TYPE_MAX_VALUE.
* tree.def (COND_EXPR): Document that the condition
can be of any integral type.

From-SVN: r126804

17 years agomips.exp (is_gp32_flag): Return true for -msmartmips.
Richard Sandiford [Fri, 20 Jul 2007 16:00:08 +0000 (16:00 +0000)]
mips.exp (is_gp32_flag): Return true for -msmartmips.

gcc/testsuite/
* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -msmartmips.
* gcc.target/mips/save-restore-5.c: Fix positioning of dg-do directive.

From-SVN: r126802

17 years agomips.h (mips_dwarf_regno): Declare.
Nigel Stephens [Fri, 20 Jul 2007 15:41:29 +0000 (15:41 +0000)]
mips.h (mips_dwarf_regno): Declare.

gcc/
2007-07-20  Nigel Stephens  <nigel@mips.com>
    Richard Sandiford  <richard@codesourcery.com>

* config/mips/mips.h (mips_dwarf_regno): Declare.
(DBX_REGISTER_NUMBER): Remove redundant brackets.
(HI_REGNUM, LO_REGNUM): Define in an endian-dependent way.
(AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM)
(AC3HI_REGNUM, AC3LO_REGNUM, ACC_HI_REG_P): Delete.
(reg_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
(REG_CLASS_NAMES): Update accordingly.
* config/mips/mips.c (mips_dwarf_regno): New array.
(mips_regno_to_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
(mips_subword): Remove special handling for accumulator registers.
(override_options): Initiailize mips_dwarf_regno.  Remove use
of ACC_HI_REG_P.
(mips_swap_registers): New function.
(mips_conditional_register_usage): Swap accumulator registers
around if TARGET_LITTLE_ENDIAN.
(mips_cannot_change_mode_class): Remove special treatment of ACC_REGS.
* config/mips/constraints.md (h, l): Use the endianness to choose
between MD0_REG and MD1_REG.
* config/mips/mips.md (*mfhilo_<mode>_macc): Use a fixed-string,
alternative-dependent template.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r126801

17 years agore PR tree-optimization/19910 (ICE with -ftree-loop-linear)
Uros Bizjak [Fri, 20 Jul 2007 09:43:52 +0000 (11:43 +0200)]
re PR tree-optimization/19910 (ICE with -ftree-loop-linear)

PR tree-optimization/19910
* gcc.dg/pr19910.c: New test.

From-SVN: r126799

17 years agoarm.md (movsi): Use can_create_pseudo_p instead of no_new_pseudos.
Richard Sandiford [Fri, 20 Jul 2007 09:20:24 +0000 (09:20 +0000)]
arm.md (movsi): Use can_create_pseudo_p instead of no_new_pseudos.

gcc/
* config/arm/arm.md (movsi): Use can_create_pseudo_p instead of
no_new_pseudos.

From-SVN: r126798

17 years agofunction.c (thread_prologue_and_epilogue_insns): Fix exit predecessor fallthru flags.
Zdenek Dvorak [Fri, 20 Jul 2007 01:32:47 +0000 (03:32 +0200)]
function.c (thread_prologue_and_epilogue_insns): Fix exit predecessor fallthru flags.

* function.c (thread_prologue_and_epilogue_insns): Fix exit
predecessor fallthru flags.

From-SVN: r126797

17 years agotree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands of compare to...
Zdenek Dvorak [Fri, 20 Jul 2007 01:29:43 +0000 (03:29 +0200)]
tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands of compare to the same type.

* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands
of compare to the same type.
* cfgloopmanip.c (add_loop): Update information about loop exits.
(loop_version): Remove the innermost loop requirement.
* tree-ssa-loop-manip.c (determine_exit_conditions): Convert bounds
to sizetype for pointers.

From-SVN: r126796

17 years agoDaily bump.
GCC Administrator [Fri, 20 Jul 2007 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r126794

17 years agoCorrected filename from previous commit.
Daniel Franke [Thu, 19 Jul 2007 21:14:38 +0000 (17:14 -0400)]
Corrected filename from previous commit.

From-SVN: r126791

17 years agore PR fortran/32738 (Error: Function 'tree_size' at (1) has no IMPLICIT type)
Daniel Franke [Thu, 19 Jul 2007 21:11:38 +0000 (17:11 -0400)]
re PR fortran/32738 (Error: Function 'tree_size' at (1) has no IMPLICIT type)

2007-07-19  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32738
* gfortran.dg/pr32768.f90: New test.

From-SVN: r126790

17 years agore PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function)
Christopher D. Rickett [Thu, 19 Jul 2007 06:14:19 +0000 (06:14 +0000)]
re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function)

2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32600
* trans-expr.c (gfc_conv_function_call): Inline C_LOC.

2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32600
* libgfortran/intrinsics/iso_c_binding.c: Remove C_LOC.
* libgfortran/intrinsics/iso_c_binding.h: Ditto.
* libgfortran/gfortran.map: Ditto.

From-SVN: r126744

17 years agore PR tree-optimization/32635 (gfortran - internal compiler error: verify_ssa failed)
Thomas Koenig [Thu, 19 Jul 2007 04:47:29 +0000 (04:47 +0000)]
re PR tree-optimization/32635 (gfortran - internal compiler error: verify_ssa failed)

2007-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR tree-optimzation/32635
* gfortran.dg/pr32635.f:  New test case.

From-SVN: r126742

17 years agoDaily bump.
GCC Administrator [Thu, 19 Jul 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r126738

17 years agoMakefile.in (D32PBIT_FUNCS): Add _sd_to_tf and _tf_to_sd.
H.J. Lu [Wed, 18 Jul 2007 22:28:28 +0000 (22:28 +0000)]
Makefile.in (D32PBIT_FUNCS): Add _sd_to_tf and _tf_to_sd.

2007-07-18  H.J. Lu  <hongjiu.lu@intel.com>

* Makefile.in (D32PBIT_FUNCS): Add _sd_to_tf and _tf_to_sd.
(D64PBIT_FUNCS): Add _dd_to_tf and _tf_to_dd.
(D128PBIT_FUNCS): Add _td_to_tf and _tf_to_td.

* config/dfp-bit.c: Empty for TFmode conversions.

From-SVN: r126735

17 years agore PR fortran/32801 (USE of ISO_C_BINDING, ONLY: C_LOC causes compiler seg fault)
Christopher D. Rickett [Wed, 18 Jul 2007 22:02:21 +0000 (22:02 +0000)]
re PR fortran/32801 (USE of ISO_C_BINDING, ONLY: C_LOC causes compiler seg fault)

2007-07-18  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32801
* symbol.c (generate_isocbinding_symbol): Fix bug where
ISOCBINDING_FUNPTR was generated for C_LOC instead of the needed
ISOCBINDING_PTR.

2007-07-18  Christopher D. Rickett  <crickett@lanl.gov>

PR fortran/32801
* gfortran.dg/pr32801.f03: New test case.

From-SVN: r126732

17 years agoFix bootstrap on ia64, PR32764
Caroline Tice [Wed, 18 Jul 2007 21:08:05 +0000 (21:08 +0000)]
Fix bootstrap on ia64, PR32764

2007-07-18  Caroline Tice  <ctice@apple.com>

        * var-tracking.c (find_src_status):  Check for  COND_EXEC insns
        and handle them correctly; check that src is not NULL before
        trying to use it.
        (find_src_set_src): Likewise.

From-SVN: r126731

17 years agore PR target/32641 (C99 fpclassify, isinf, isfinite, isnormal may raise FP exceptions)
Kaveh R. Ghazi [Wed, 18 Jul 2007 20:22:32 +0000 (20:22 +0000)]
re PR target/32641 (C99 fpclassify, isinf, isfinite, isnormal may raise FP exceptions)

fixincludes:
PR target/32641

* inclhack.def (solaris_math_4, solaris_math_5, solaris_math_6,
solaris_math_7): Constify and make FP exception-safe.
* tests/base/iso/math_c99.h: Update.

* fixincl.x: Regenerate.

gcc/testsuite:
* gcc.dg/c99-math-double-1.c: Mark test variables as volatile.
Test negative numbers also.
* gcc.dg/c99-math-float-1.c: Likewise.
* gcc.dg/c99-math-long-double-1.c: Likewise.
* gcc.dg/c99-math.h: Check for FP exceptions.  Update for negative
test inputs.

From-SVN: r126730

17 years agoxtensa-config.h (XCHAL_HAVE_THREADPTR): New.
Bob Wilson [Wed, 18 Jul 2007 18:51:21 +0000 (18:51 +0000)]
xtensa-config.h (XCHAL_HAVE_THREADPTR): New.

include/
* xtensa-config.h (XCHAL_HAVE_THREADPTR): New.
(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): New.
gcc/
* config/xtensa/xtensa.c (xtensa_expand_mask_and_shift): New.
(struct alignment_context, init_alignment_context): New.
(xtensa_expand_compare_and_swap, xtensa_expand_atomic): New.
* config/xtensa/xtensa.h (XCHAL_HAVE_RELEASE_SYNC): Add default.
(XCHAL_HAVE_S32C1I): Likewise.
(TARGET_RELEASE_SYNC, TARGET_S32C1I): New.
* config/xtensa/xtensa.md (UNSPECV_MEMW): New constant.
(UNSPECV_S32RI, UNSPECV_S32C1I): Likewise.
(ATOMIC, HQI): New macros.
(memory_barrier, *memory_barrier): New.
(sync_lock_releasesi): New.
(sync_compare_and_swapsi, sync_compare_and_swap<mode>): New.
(sync_lock_test_and_set<mode>): New.
(sync_<atomic><mode>): New.
(sync_old_<atomic><mode>, sync_new_<atomic><mode>): New.
* config/xtensa/xtensa-protos.h (xtensa_expand_compare_and_swap): New.
(xtensa_expand_atomic): New.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_sync_int_long):
Enable for xtensa.
(check_effective_target_sync_char_short): Likewise.

From-SVN: r126728

17 years agore PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)
Kaveh R. Ghazi [Wed, 18 Jul 2007 17:51:13 +0000 (17:51 +0000)]
re PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)

PR target/30652

* builtins.c (expand_builtin_interclass_mathfn): Provide a generic
transformation for builtin ISNORMAL.
(expand_builtin): Handle BUILT_IN_ISNORMAL.
* builtins.def (BUILT_IN_ISNORMAL): New.
* doc/extend.texi: Document isnormal.

testsuite:
* gcc.dg/pr28796-2.c: Add more cases.

From-SVN: r126726

17 years agore PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)
Kaveh R. Ghazi [Wed, 18 Jul 2007 17:42:12 +0000 (17:42 +0000)]
re PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)

PR target/30652

* builtins.c (expand_builtin_interclass_mathfn): Allow for missing
optabs infrastructure.  Provide generic implementation for
FINITE/ISFINITE.
(expand_builtin): Handle FINITE/ISFINITE.
(fold_builtin_classify): Make ISFINITE canonical instead of FINITE.
(fold_builtin_1): Likewise.

* builtins.def (BUILT_IN_ISFINITE): New.

* doc/extend.texi: Document isfinite.

testsuite:
* gcc.dg/pr28796-1.c: Add more cases.
* gcc.dg/pr28796-2.c: Likewise.

From-SVN: r126725

17 years agore PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)
Kaveh R. Ghazi [Wed, 18 Jul 2007 17:30:38 +0000 (17:30 +0000)]
re PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)

PR target/30652
PR middle-end/20558

* builtins.c (expand_builtin_interclass_mathfn): Provide a
generic fallback for isinf.
* c-cppbuiltin.c (builtin_define_float_constants): Move FP max
calculation code ...
* real.c (get_max_float): ... to here.
* real.h (get_max_float): New.

testsuite:
* gcc.dg/pr28796-1.c: Add more cases.
* gcc.dg/pr28796-2.c: Likewise.

From-SVN: r126724

17 years agore PR middle-end/32668 (The type-generic builtins apply default promotions)
Kaveh R. Ghazi [Wed, 18 Jul 2007 16:13:09 +0000 (16:13 +0000)]
re PR middle-end/32668 (The type-generic builtins apply default promotions)

PR middle-end/32668

* builtin-attrs.def (ATTR_TYPEGENERIC,
ATTR_CONST_NOTHROW_TYPEGENERIC): New.

* builtins.def (BUILT_IN_ISINF, BUILT_IN_ISNAN,
BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
BUILT_IN_ISLESSEQUAL, BUILT_IN_ISLESSGREATER,
BUILT_IN_ISUNORDERED): Use ATTR_CONST_NOTHROW_TYPEGENERIC.

* c-common.c (handle_type_generic_attribute): New.
(c_common_attribute_table): Add "type generic".

* c-typeck.c (convert_arguments): Handle "type generic" functions.

From-SVN: r126723