Commit Graph

82241 Commits

Author SHA1 Message Date
Francois-Xavier Coudert
2b8327ce6a re PR fortran/32035 ('<anonymous>' may be used uninitialized in this function)
PR fortran/32035

	* trans-stmt.c (gfc_trans_character_select): Replace the
	mechanism with labels by a SWITCH_EXPR.
	* trans-decl.c (gfc_build_builtin_function_decls): Change
	return type for select_string.

	* runtime/select.c (select_string): Adjust prototype and function
	so that the return value is an integer, not a pointer.

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

From-SVN: r126978
2007-07-27 14:26:43 +00:00
Zdenek Dvorak
8fb632ebbe rs6000.c (rs6000_gimplify_va_arg): Generate the operands with compatible type.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
	operands with compatible type.

From-SVN: r126976
2007-07-27 12:05:13 +00:00
Tobias Burnus
a896d54dcb re PR fortran/32903 (Default initializer and intent(OUT): default initializer not used)
2007-07-27  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32903
	* gfortran.dg/initialization_11.f90: New test.

From-SVN: r126975
2007-07-27 11:49:55 +02:00
Paul Thomas
55ed891fa1 re PR fortran/32903 (Default initializer and intent(OUT): default initializer not used)
2007-07-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32903
	* trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
	derived types as referenced, if they have the the default
	initializer set.

From-SVN: r126974
2007-07-27 09:03:41 +00:00
Kaveh R. Ghazi
d426d208b6 lex.l (update_yylval): Constify.
* lex.l (update_yylval): Constify.
	* treelang.h (struct token_part, struct parameter_part):
	Likewise.
	* treetree.c (tree_code_create_function_prototype,
	tree_code_create_variable, tree_code_get_integer_value):
	Likewise.
	* treetree.h (tree_code_get_integer_value,
	tree_code_create_function_prototype, tree_code_create_variable):
	Likewise.

From-SVN: r126973
2007-07-27 08:12:35 +00:00
Richard Sandiford
6d7db3c5df expr.h (store_bit_field): Don't return a value.
gcc/
	* expr.h (store_bit_field): Don't return a value.
	* expmed.c (check_predicate_volatile_ok): New function.
	(store_bit_field_1): New function, extracted from store_bit_field.
	Take a fallback_p argument and return true if the operation succeeded.
	Only use store_fixed_bit_field if fallback_p.  Don't recompute
	mode_for_extraction; use op_mode instead.  Try forcing memories
	into registers if the insv expander fails.
	(store_bit_field): Use store_bit_field_1 with fallback_p true.
	Don't return a value.
	(convert_extracted_bit_field): New function, extracted from
	store_bit_field.
	(extract_bit_field_1): Likewise.  Take a fallback_p argument
	and return NULL if the operation succeeded.  Only use
	extract_fixed_bit_field if fallback_p.  Only calculate one
	extraction mode.  Combine code for extv and extzv.  Try forcing
	memories into registers if the ext(z)v expander fails.
	(extract_bit_field): Use extract_bit_field_1 with fallback_p true.

gcc/testsuite/
	* gcc.target/mips/ins-1.c: New test.

From-SVN: r126972
2007-07-27 07:39:09 +00:00
Richard Sandiford
ab34041dfe 2007-xx-xx Richard Sandiford <rsandifo@nildram.co.uk>
Richard Guenther <rguenther@suse.de>

gcc/
	* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
	into bitfields.
	(df_ref): Likewise.  Put regno with other integer fields.

From-SVN: r126971
2007-07-27 07:16:15 +00:00
Richard Sandiford
6f5c15202d df.h (df_mw_hardreg): Remove "loc" field.
gcc/
	* df.h (df_mw_hardreg): Remove "loc" field.
	* df-scan.c (df_ref_record): Don't set it.  Remove redundant
	local variable.
	* df-problems.c (df_whole_mw_reg_unused_p): New function,
	split out from df_set_unused_notes_for_mw.  Return false for
	partial references.  Assert that mw_reg is a REG when returning true.
	(df_set_unused_notes_for_mw): Use it.  Use mw_reg instead of *loc.
	(df_whole_mw_reg_dead_p): New function, split out from
	df_set_dead_notes_for_mw.  Return false for partial references.
	Assert that mw_reg is a REG when returning true.
	(df_set_dead_notes_for_mw): Use it.  Use mw_reg instead of *loc.
	Remove redundant bitmap check.

From-SVN: r126970
2007-07-27 07:15:45 +00:00
H.J. Lu
23815ffed0 t-ia64 ($(T)crtbegin.o): Removed.
2007-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/ia64/t-ia64 ($(T)crtbegin.o): Removed.
	($(T)crtend.o): Likwise.
	($(T)crtbeginS.o): Likwise.
	($(T)crtendS.o): Likwise.
	($(T)crtfastmath.o): Likwise.

From-SVN: r126969
2007-07-26 21:29:43 -07:00
GCC Administrator
fecfc40613 Daily bump.
From-SVN: r126967
2007-07-27 00:16:52 +00:00
Tom Tromey
7bead97e72 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (clean-local): Removed.
	(pth/mf-runtime.lo, pth/mf-heuristics.lo, pth/mf-hooks1.lo,
	pth/mf-hooks2.lo, pth/mf-hooks3.lo): Likewise.
	(libmudflapth_la_SOURCES): List sources.
	(libmudflapth_la_LIBADD): Clear.
	(libmudflapth_la_CFLAGS): New variable.

From-SVN: r126965
2007-07-27 00:16:35 +00:00
Tom Tromey
41f701ba94 java-tree.h (push_labeled_block, [...]): Remove.
* java-tree.h (push_labeled_block, pop_labeled_block): Remove.
	(LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
	EXIT_BLOCK_LABELED_BLOCK): Likewise.
	* lang.c (java_tree_inlining_walk_subtrees): Update.
	(java_dump_tree): Likewise.
	* java-tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRY_EXPR):
	Remove.
	* decl.c (push_labeled_block, pop_labeled_block): Remove.
	* java-gimplify.c (java_gimplify_labeled_block_expr,
	java_gimplify_exit_block_expr, java_gimplify_try_expr): Remove.
	(java_gimplify_expr): Update.

From-SVN: r126962
2007-07-26 19:07:32 +00:00
Zdenek Dvorak
8fee41c2fe dominance.c (dom_computed, [...]): Removed.
* dominance.c (dom_computed, n_bbs_in_dom_tree): Removed.
	* function.h (dom_computed, n_bbs_in_dom_tree): New macros.
	* basic-block.h (struct control_flow_graph): Added x_dom_computed
	and x_n_bbs_in_dom_tree fields.

From-SVN: r126960
2007-07-26 18:06:38 +00:00
Steve Ellcey
87621e5f0f re PR tree-optimization/32087 (ICE with FORTRAN and -fprefetch-loop-arrays)
PR tree-optimization/32087
	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
	Do not call scale_bbs_frequencies_int with prob of zero.

From-SVN: r126959
2007-07-26 17:11:24 +00:00
Julian Brown
b617fc7101 gcc/
* config/arm/arm-protos.h (neon_lane_bounds, neon_const_bounds)
	(neon_element_bits): Add prototypes.
	* config/arm/arm.c (bounds_check, neon_lane_bounds)
	(neon_const_bounds, neon_element_bits): New functions.
	* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_lanedi)
	(neon_vget_lanev2di, neon_vset_lane<mode>, neon_vset_lanedi)
	(neon_vset_lanev2di, neon_vdup_lane<mode>, neon_vdup_lanedi)
	(neon_vdup_lanev2di, neon_vcvt_n<mode>, neon_vmul_lane<mode>)
	(neon_vmull_lane<mode>, neon_vqdmull_lane<mode>)
	(neon_vqdmulh_lane<mode>, neon_vmla_lane<mode>)
	(neon_vmlal_lane<mode>, neon_vqdmlal_lane<mode>)
	(neon_vmls_lane<mode>, neon_vmlsl_lane<mode>)
	(neon_vqdmlsl_lane<mode>, neon_vext<mode>, neon_vshr_n<mode>)
	(neon_vshrn_n<mode>, neon_vqshrn_n<mode>, neon_vqshrun_n<mode>)
	(neon_vshl_n<mode>, neon_vshl_n<mode>, neon_vqshl_n<mode>)
	(neon_vqshlu_n<mode>, neon_vshll_n<mode>, neon_vsra_n<mode>)
	(neon_vsri_n<mode>, neon_vsli_n<mode>): Add bounds checks.

From-SVN: r126958
2007-07-26 13:59:57 +00:00
Stephen M. Webb
69240fc232 Fixed abi_check for missing symbol size changes.
2007-07-25  Stephen M. Webb  <stephenw@xandros.com>

  Fixed abi_check for missing symbol size changes.
	* testsuite/util/testsuite_abi.cc: Changed local variable name to prevent
	member variable hiding.

From-SVN: r126956
2007-07-26 12:45:06 +00:00
Nathan Froyd
5153cd4b9c assign-warn-3.c (f0): Declare as inline.
PR/19232
	* gcc.dg/assign-warn-3.c (f0): Declare as inline.
	(f1): Likewise.

From-SVN: r126955
2007-07-26 12:36:39 +00:00
Nathan Froyd
1c387101e0 vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
* config/vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
	(HAVE_AS_GNU_ATTRIBUTE): Undefine.

From-SVN: r126954
2007-07-26 12:29:12 +00:00
Mark Shinwell
c956e102df arm.c (arm_mac_accumulator_is_mul_result): New.
gcc/
	* config/arm/arm.c (arm_mac_accumulator_is_mul_result): New.
	* config/arm/arm-protos.h (arm_mac_accumulator_is_mul_result): New.
	* config/arm/cortex-a8.md: New.
	* config/arm/cortex-a8-neon.md: New.
	* config/arm/neon-schedgen.ml: New.
	* config/arm/neon.md (vqh_mnem): New.
	(neon_type): New.
	(Is_float_mode): New.
	(Scalar_mul_8_16): New.
	(Is_d_reg): New.
	(V_mode_nunits): New.
	(All instruction patterns): Annotate with neon_type attribute
	values.
	* config/arm/arm.md: Include cortex-a8.md.
	(insn): Add smmla, umaal, smlald, smlsld, clz, mrs, msr and xtab
	values.
	Annotate instruction patterns accordingly.
	(generic_sched): Do not use generic scheduling for Cortex-A8.
	(generic_vfp): Do not use generic VFP scheduling for Cortex-A8.


Co-Authored-By: Julian Brown <julian@codesourcery.com>

From-SVN: r126953
2007-07-26 12:04:02 +00:00
Daniel Jacobowitz
0c4d4efbde fold-const.c (fold_read_from_constant_string): Use build_int_cst_type.
* fold-const.c (fold_read_from_constant_string): Use
	build_int_cst_type.
	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.

From-SVN: r126952
2007-07-26 11:52:19 +00:00
Richard Guenther
7e98624c5e configure.ac: Add types checking to stage1 checking flags.
2007-07-26  Richard Guenther  <rguenther@suse.de>

	toplev/
	* configure.ac: Add types checking to stage1 checking flags.
	* configure: Regenerate.

        gcc/
	* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
	verify_gimple_min_lval, verify_gimple_reference, verify_gimple_expr,
	verify_gimple_modify_stmt, verify_gimple_stmt, verify_gimple_1,
	verify_gimple): New functions.
	* tree-flow.h (verify_gimple): Declare.
	(verify_gimple_1): Declare.
	* gimplify.c (cpt_same_type): Remove.
	(gimplify_addr_expr): Remove checking code.
	(check_pointer_types_r): Remove.
	(gimplify_body): Call verify_gimple_1 instead of check_pointer_types_r.
	Only verify if there were no errors.
	* configure.ac: Add types checking flag.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r126951
2007-07-26 10:27:50 +00:00
Richard Guenther
0ee0208ecc re PR testsuite/32843 (libffi.call/return_sc.c)
2007-07-26  Richard Guenther  <rguenther@suse.de>

	PR testsuite/32843
	* testsuite/libffi.call/return_sc.c (main): Verify call
	result as signed char, not ffi_arg.

From-SVN: r126950
2007-07-26 09:13:58 +00:00
Andreas Krebbel
2b980e3ebc 20070725-1.c: Split the spare field in two to avoid: error: width of 'spare' exceeds its type.
2007-07-26  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20070725-1.c: Split the spare field in two to avoid:
	error: width of 'spare' exceeds its type.

From-SVN: r126949
2007-07-26 09:02:58 +00:00
Nick Clifton
9dcd6f09a3 Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
2007-07-26 08:37:01 +00:00
Jan Hubicka
aee46bbdf8 tree-ssa-live.c: Include debug.h and flags.h.
* tree-ssa-live.c: Include debug.h and flags.h.
	(mark_scope_block_unused): New function.
	(remove_unused_scope_block_p): New function.
	(remove_unused_locals): Remove unused blocks too.

From-SVN: r126947
2007-07-26 03:43:40 +00:00
Nathan Froyd
e13642b658 sibcall-3.c: Skip on PowerPC targets when -mlongcall.
* gcc.dg/sibcall-3.c: Skip on PowerPC targets when -mlongcall.
	* gcc.dg/sibcall-4.c: Likewise.

From-SVN: r126943
2007-07-26 00:40:00 +00:00
Ian Lance Taylor
829f8ff7ab combine.c (combine_max_regno): Remove.
* combine.c (combine_max_regno): Remove.  Remove all uses.
	(struct reg_stat_struct): Rename from struct reg_stat.
	(reg_stat_type): Define, and declare VECs.
	(reg_stat): Change from pointer to VEC.  Change all uses.
	(combine_split_insns): New static function.
	(try_combine, find_split_point): Call it instead of split_insns.

From-SVN: r126942
2007-07-26 00:27:34 +00:00
GCC Administrator
a3f444ba41 Daily bump.
From-SVN: r126940
2007-07-26 00:17:15 +00:00
Krister Walfridsson
63729d8454 re PR target/30058 (bootstrap broken on i386-unknown-netbsdelf2.0.2)
2007-07-24  Krister Walfridsson  <cato@df.lth.se>

	PR target/30058
	* inclhack.def (netbsd_c99_inline_2): New.
	* fixincl.x: Regenerate.
	* tests/base/signal.h: Update.

From-SVN: r126937
2007-07-25 23:51:47 +00:00
Zdenek Dvorak
dbdc7f9732 cfghooks.c (split_block): Fix the information about loop latch.
* cfghooks.c (split_block): Fix the information about loop latch.

From-SVN: r126936
2007-07-25 23:19:56 +00:00
Zdenek Dvorak
af0b10e546 cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
* cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.

From-SVN: r126935
2007-07-25 23:08:06 +00:00
Zdenek Dvorak
aa2645a07e tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Scan the new edge for loop exit info.
* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis):
	Scan the new edge for loop exit info.

From-SVN: r126934
2007-07-25 23:06:40 +00:00
Andreas Tobler
9faca04e40 darwin.c: Include debug.h.
2007-07-25  Andreas Tobler  <a.tobler@schweiz.org>

	* config/darwin.c: Include debug.h.

From-SVN: r126933
2007-07-25 23:38:55 +02:00
Steve Ellcey
6887a8b9b7 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
2007-07-25 20:24:15 +00:00
Steve Ellcey
4883241c18 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
2007-07-25 20:09:07 +00:00
Kaveh R. Ghazi
be5b01f393 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
2007-07-25 19:48:07 +00:00
Kaveh R. Ghazi
e326eeb5e8 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
2007-07-25 19:38:45 +00:00
Daniel Berlin
4352ed4d6d 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
2007-07-25 19:24:16 +00:00
Kaveh R. Ghazi
e5cfc29f59 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
2007-07-25 19:19:42 +00:00
Kaveh R. Ghazi
741ac90383 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
2007-07-25 19:06:06 +00:00
John David Anglin
39f86293e5 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
2007-07-25 18:49:13 +00:00
Kaveh R. Ghazi
9566a75938 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
2007-07-25 18:43:25 +00:00
Kaveh R. Ghazi
f7d504c227 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
2007-07-25 18:33:26 +00:00
Kaveh R. Ghazi
5f754896d3 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
2007-07-25 18:14:57 +00:00
Richard Sandiford
d6076cee31 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
2007-07-25 18:12:15 +00:00
Kaveh R. Ghazi
a57193e811 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
2007-07-25 18:00:08 +00:00
Julian Brown
608063c3e9 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
2007-07-25 15:43:04 +00:00
John David Anglin
18efbe5176 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
2007-07-25 15:32:33 +00:00
H.J. Lu
edb3b6224a 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
2007-07-25 06:09:02 -07:00
Richard Guenther
48f731502c 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
2007-07-25 12:46:42 +00:00