Commit Graph

88156 Commits

Author SHA1 Message Date
Kai Tietz
ff1c393bd3 tree.c (build_varargs_function_type_list): New.
2008-06-28  Kai Tietz  <kai.tietz@onevision.com>

        * tree.c (build_varargs_function_type_list): New.
        (build_function_type_list_1): New.
        (build_function_type_list): Use build_function_type_list_1.
        * tree.h (build_varargs_function_type_list): New.

From-SVN: r137221
2008-06-28 14:41:38 +02:00
Ulrich Weigand
d74032d9e1 re PR target/34856 (ICE with some constant vectors)
PR target/34856
	* config/spu/spu.c (spu_builtin_splats): Do not generate
	invalid CONST_VECTOR expressions.
	(spu_expand_vector_init): Likewise.

From-SVN: r137218
2008-06-28 10:47:36 +00:00
Steven Bosscher
069a1c33f9 Commit missing Makefile update for r137158.
From-SVN: r137216
2008-06-28 09:38:11 +00:00
Richard Sandiford
61698f5402 optabs.c (libfunc_decls): New variable.
gcc/
	* optabs.c (libfunc_decls): New variable.
	(libfunc_decl_hash, libfunc_decl_eq): New functions.
	(init_one_libfunc): Reuse decls and SYMBOL_REFs when asked
	for the same function twice.

From-SVN: r137215
2008-06-28 09:24:35 +00:00
GCC Administrator
d476e66901 Daily bump.
From-SVN: r137211
2008-06-28 00:17:13 +00:00
Mark Mitchell
b8df34454c vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array address.
2008-06-27  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
	address.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.

2008-06-27  Mark Mitchell  <mark@codesourcery.com>

	* g++.dg/abi/arm_cxa_vec2.C: New test.

From-SVN: r137207
2008-06-27 23:02:06 +00:00
Jakub Jelinek
0ac69b47fb re PR c++/36364 (Problem with -frepo)
PR c++/36364
	* repo.c (repo_emit_p): Put const static data members initialized
	by const expr into *.rpo file, just return 2 if IDENTIFIER_REPO_CHOSEN
	for it is 0.

	* g++.dg/template/repo9.C: New test.

From-SVN: r137205
2008-06-28 00:26:48 +02:00
Richard Biener
e3fd526b6a re PR tree-optimization/36400 (points-to results wrong)
2008-06-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36400
	PR tree-optimization/36373
	PR tree-optimization/36344
	* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
	var_nonlocal, nonlocal_tree, nonlocal_id): New globals
	(update_alias_info): Remove call clobbering code.
	(make_constraint_to): New helper function.
	(make_escape_constraint): Likewise.
	(handle_rhs_call): Use it on all pointer containing arguments.
	Also mark the static chain escaped.
	(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
	instead of ANYTHING.
	(make_constraint_from): New helper split out from ...
	(make_constraint_from_anything): ... here.
	(find_func_aliases): Add constraints for escape sites.
	(intra_create_variable_infos): Make constraints from NONLOCAL
	for parameters.
	(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
	as ANYTHING.
	(clobber_what_p_points_to): Remove.
	(clobber_what_escaped): New function.
	(init_base_vars): Init NONLOCAL and ESCAPED.
	(do_sd_constraint): Do not propagate the solution from ESCAPED
	but use ESCAPED as a placeholder.
	(solve_graph): Likewise.
	* tree-flow.h (clobber_what_p_points_to): Remove.
	(clobber_what_escaped): Declare.
	* tree-ssa-alias.c (set_initial_properties): Call it.
	Remove code clobbering escaped pointers.

	* gcc.dg/torture/pr36373-1.c: New testcase.
	* gcc.dg/torture/pr36373-2.c: Likewise.
	* gcc.dg/torture/pr36373-3.c: Likewise.
	* gcc.dg/torture/pr36373-4.c: Likewise.
	* gcc.dg/torture/pr36373-5.c: Likewise.
	* gcc.dg/torture/pr36373-6.c: Likewise.
	* gcc.dg/torture/pr36373-7.c: Likewise.
	* gcc.dg/torture/pr36373-8.c: Likewise.
	* gcc.dg/torture/pr36373-9.c: Likewise.
	* gcc.dg/torture/pr36373-10.c: Likewise.
	* gcc.dg/torture/pr36400.c: Likewise.
	* gcc.c-torture/execute/pta-field-1.c: Likewise.
	* gcc.c-torture/execute/pta-field-2.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
	* gcc.dg/tree-ssa/pr24287.c: XFAIL.

From-SVN: r137204
2008-06-27 21:54:42 +00:00
Uros Bizjak
7059ea888d * config/i386/i386.md (lshrti splitter): Fix splitter predicate.
From-SVN: r137202
2008-06-27 23:12:04 +02:00
Uros Bizjak
934f2a969d i386.md (ashlti3, [...]): Expand using ix86_expand_binary_operator directly.
* config/i386/i386.md (ashlti3, ashrti3, lshrti3): Expand using
	ix86_expand_binary_operator directly.
	(*ashlti3_1): Rename from ashlti3_1.  Use nonmemory_operand predicate
	for operand 2.
	(*ashrti3_1): Ditto.
	(*lshrti3_1): Ditto.
	(*ashlti3_2, *ashrti3_2, *lshrti3_2): Remove insn patterns.
	(ashlti, ashrti and lshrti splitters): Handle nonmemory operand 2
	using only one splitter.  Conditionaly execute splitter before or
	after peephole2 pass.
	(ashlti, ashrti and lshrti peephole2): Define peephole2 patterns.
	(x86_shld): Rename from x86_shld_1.  Compress operand 2 constraints.
	Use only one alternative in asm template.
	(x86_64_shld): Compress operand 2 constraints. Use only one alternative
	in asm template.
	(*ashldi3_cmp_rex64): Use const_1_to_63_operand operand predicate and
	"J" operand constraint for operand 2.
	(*ashldi3_cconly_rex64): Ditto.
	(*ashrdi3_cmp_rex64): Ditto.
	(*ashrdi3_cconly_rex64): Ditto.
	(*lshrdi3_cmp_rex64): Ditto.
	(*lshrdi3_cconly_rex64): Ditto.
	* config/i386/predicates.md (const_1_to_63_operand): New predicate.
	* config/i386/i386.md (print_operand) ['s']: Print ", " using fputs.
	(split_ashr, split_ashl, split_lshr): Use gen_x86_shrd instead of
	gen_x86_shrd_1.

From-SVN: r137201
2008-06-27 22:53:34 +02:00
Paolo Carlini
a7235bfbb1 re PR c++/36655 (unjustified warning for "extern template" when using -pedantic -std=c++0x)
/cp
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36655
	* pt.c (do_decl_instantiation): In c++0x mode do not warn for
	extern template.

/testsuite
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36655
	* g++.dg/cpp0x/extern_template.C: New.

From-SVN: r137200
2008-06-27 20:45:25 +00:00
Jakub Jelinek
ca2b131143 gimplify.c (omp_is_private): Don't return true if decl is not already private on #pragma omp for or #pragma...
* gimplify.c (omp_is_private): Don't return true if decl
	is not already private on #pragma omp for or #pragma omp parallel for.

	* gcc.dg/gomp/pr27388-3.c: Adjust dg-final.

	* testsuite/libgomp.c/loop-10.c: New test.
	* libgomp.c/loop-3.c (main): Add lastprivate clause.
	* libgomp.c++/loop-6.C (main): Likewise.

From-SVN: r137199
2008-06-27 21:45:14 +02:00
Jakub Jelinek
b357f682db re PR debug/36617 (Debug info for OpenMP code is almost non-existent)
PR debug/36617
	* tree-cfg.c (struct move_stmt_d): Replace block field with
	orig_block and new_block fields.
	(move_stmt_r): Only set TREE_BLOCK to p->new_block if
	if it used to be NULL, p->orig_block or if p->orig_block is NULL.
	(move_block_to_fn): Replace vars_map and new_label_map arguments
	with struct move_stmt_d pointer.
	(replace_block_vars_by_duplicates): New function.
	(move_sese_region_to_fn): Add ORIG_BLOCK argument.  Adjust
	move_block_to_fn caller.  If ORIG_BLOCK is non-NULL, move over
	all subblocks of ORIG_BLOCK to the new function.  Call
	replace_block_vars_by_duplicates.
	* tree-flow.h (move_sese_region_to_fn): Adjust prototype.
	* omp-low.c (expand_omp_taskreg): Set TREE_USED on DECL_INITIAL
	BLOCK of the new function.  Adjust move_sese_region_to_fn caller.
	Prune vars with original DECL_CONTEXT from child_cfun->local_decls.
	(expand_omp): Temporarily set input_location to the location of
	region's controlling stmt.
	(lower_omp_sections, lower_omp_for): Add a BLOCK into outermost
	BIND_EXPR, push ctx->block_vars and gimplification vars into
	the BIND_EXPR and its block's BLOCK_VARS instead of directly
	into dest function.
	(lower_omp_single): Set TREE_USED on the BIND_EXPR's BLOCK if
	there are any BLOCK_VARS.
	(lower_omp_taskreg): Set BLOCK on a BIND_EXPR containing the
	OMP_PARALLEL or OMP_TASK stmt.
	(lower_omp): Save and restore input_location around the lower_omp_1
	call.

	* testsuite/libgomp.c/debug-1.c: New test.

From-SVN: r137198
2008-06-27 21:42:32 +02:00
Richard Guenther
b7091901cd re PR tree-optimization/36400 (points-to results wrong)
2008-06-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36400
	PR tree-optimization/36373
	PR tree-optimization/36344
	* tree-ssa-structalias.c (var_escaped, escaped_tree, escaped_id,
	var_nonlocal, nonlocal_tree, nonlocal_id): New globals
	(update_alias_info): Remove call clobbering code.
	(make_constraint_to): New helper function.
	(make_escape_constraint): Likewise.
	(handle_rhs_call): Use it on all pointer containing arguments.
	Also mark the static chain escaped.
	(handle_lhs_call): Make constraints from NONLOCAL and ESCAPED
	instead of ANYTHING.
	(make_constraint_from): New helper split out from ...
	(make_constraint_from_anything): ... here.
	(find_func_aliases): Add constraints for escape sites.
	(intra_create_variable_infos): Make constraints from NONLOCAL
	for parameters.
	(find_what_p_points_to): Interpret NONLOCAL and ESCAPED the same
	as ANYTHING.
	(clobber_what_p_points_to): Remove.
	(clobber_what_escaped): New function.
	(init_base_vars): Init NONLOCAL and ESCAPED.
	(do_sd_constraint): Do not propagate the solution from ESCAPED
	but use ESCAPED as a placeholder.
	(solve_graph): Likewise.
	* tree-flow.h (clobber_what_p_points_to): Remove.
	(clobber_what_escaped): Declare.
	* tree-ssa-alias.c (set_initial_properties): Call it.
	Remove code clobbering escaped pointers.

	* gcc.dg/torture/pr36373-1.c: New testcase.
	* gcc.dg/torture/pr36373-2.c: Likewise.
	* gcc.dg/torture/pr36373-3.c: Likewise.
	* gcc.dg/torture/pr36373-4.c: Likewise.
	* gcc.dg/torture/pr36373-5.c: Likewise.
	* gcc.dg/torture/pr36373-6.c: Likewise.
	* gcc.dg/torture/pr36373-7.c: Likewise.
	* gcc.dg/torture/pr36373-8.c: Likewise.
	* gcc.dg/torture/pr36373-9.c: Likewise.
	* gcc.dg/torture/pr36373-10.c: Likewise.
	* gcc.dg/torture/pr36400.c: Likewise.
	* gcc.c-torture/execute/pta-field-1.c: Likewise.
	* gcc.c-torture/execute/pta-field-2.c: Likewise.
	* gcc.dg/tree-ssa/loadpre8.c: Remove XFAIL.
	* gcc.dg/tree-ssa/pr24287.c: XFAIL.

From-SVN: r137197
2008-06-27 18:53:43 +00:00
Paolo Carlini
04dbd89190 stl_algo.h (is_partitioned): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/is_partitioned/1.cc: New.
	* testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137196
2008-06-27 17:42:18 +00:00
Richard Sandiford
70cf5bc1f1 function.c (allocate_struct_function): Only allocate a unique funcdef_no if the decl is nonzero.
gcc/
	* function.c (allocate_struct_function): Only allocate a unique
	funcdef_no if the decl is nonzero.

From-SVN: r137195
2008-06-27 17:26:14 +00:00
Richard Sandiford
c5cb5d18b3 mips-protos.h (mips_split_const_insns): Declare.
gcc/
	* config/mips/mips-protos.h (mips_split_const_insns): Declare.
	* config/mips/mips.c (mips_split_const_insns): New function.
	* config/mips/mips.md (move_type): New attribute.
	(mode): Move attribute definition earlier in file.  Add "TI"
	and "TF".
	(dword_mode): New attribute.
	(type): Avoid long line.  Map "move_type"s to "type"s,
	choosing "multi" for doubleword moves if appropriate.
	Swap MTC/MFC comments to match their declaration order.
	(extended_mips16): Default to "yes" if "move_type" is "sll0",
	"type" is "branch" or "jal" is "direct".
	(length): Handle "extended_mips16" first.  Make the default
	"0" for "ghost" instructions.  Set the length from "move_type".
	(truncdisi2, truncdihi2, truncdiqi2): Use "move_type" instead
	of "type", with "sll0" for the register alternative.  Remove the
	"extended_mips16" attribute.
	(zero_extendsidi2, *clear_upper32): Use "move_type" instead
	of "type", with "shift_shift" for the register alternative.
	Remove the "length" attribute.
	(*extend<SHORT:mode><GPR:mode>2, *extendqihi2): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2): Use "move_type" instead
	of "type", with "andi" for the register alternative.
	(*zero_extendqihi2): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2_mips16e): Use a "move_type"
	of "andi" instead of a "type" of "arith".
	(*zero_extend<SHORT:mode><GPR:mode>2_mips16): Use "move_type"
	instead of "type".
	(*zero_extendqihi2_mips16, mov_<load>l, mov_<load>r, mov_<store>l)
	(mov_<store>r, *mov<mode>_ra): Likewise.
	(extendsidi2): Use "move_type" instead of "type", with "move"
	for the register alternative.
	(*extend<SHORT:mode><GPR:mode>2_mips16e): Use "move_type" instead
	of "type", with "signext" for the register alternative.
	(*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>): Likewise.
	(*extendqihi2_mips16e, *extendqihi2_seb): Likewise.
	(fix_truncdfsi2_insn, fix_truncsfsi2_insn, fix_truncdfdi2)
	(fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2, floatdisf2)
	(floatdisf2, *branch_equality<mode>_mips16): Likewise.
	(unnamed branch insn): Likewise.
	(*movdi_gp32_fp64): Fold into...
	(*movdi_32bit): ...here.
	(*movdf_hardfloat_64bit, *movdf_hardfloat_32bit): Combine into...
	(*movdf_hardfloat): ...this new pattern.
	(*movdf_softfloat): Remove redundant FPR alternatives.
	(*movti, *movti_mips16, *movtf, *movtf_mips16): Add "mode" attributes.
	(*movv2sf_hardfloat_64bit, *movv2sf_hardfloat_32bit): Combine into...
	(*movv2sf): ...this new pattern.  Use "DF" rather than "SF" for
	the "move" attribute.
	(*movdi_32bit): Use "move_type" instead of "type" and remove the
	"length" attribute.  Use "fpload" and "fpstore" instead of "load"
	and "store" for COP loads and stores.
	(*movdi_32bit_mips16, *movdi_64bit, *movsi_internal, movcc)
	(*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16)
	(*movsf_hardfloat, *movsf_softfloat, *movsi_mips16, *movdf_hardfloat)
	(*movdf_softfloat, *movdf_mips16, *movti, *movti_mips16, *movtf)
	(*movtf_mips16, *movv2sf): Likewise.
	(mfhi<GPR:mode>_<HILO:mode>, mflo<GPR:mode>_<HILO:mode>)
	(load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
	(mfhc1<mode>): Use "move_type" instead of "move".
	(*low<mode>_mips16): Use "extended_mips16" instead of "length".
	(loadgp_blockage): Remove the "length" attribute.
	(blockage, set_got_version, update_got_version): Likewise.
	(call_internal): Remove the "extended_mips16" attribute.
	(call_value_internal, call_value_multiple_internal): Likewise.
	* config/mips/loongson.md (mov<mode>_internal): Use "move_type"
	instead of "move".
	* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Remove
	the "length" attribute.

From-SVN: r137194
2008-06-27 17:20:32 +00:00
Kaveh R. Ghazi
7d71283c1a ada-tree.h (SET_TYPE_LANG_SPECIFIC, [...]): Fix -Wc++-compat warnings.
* ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
	-Wc++-compat warnings.
	* adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
	__gnat_locate_exec_on_path): Likewise.
	* decl.c (annotate_value): Likewise.
	* misc.c (gnat_handle_option): Likewise.
	* trans.c (gnat_to_gnu, extract_encoding, decode_name,
	post_error_ne_tree): Likewise.

From-SVN: r137192
2008-06-27 16:55:06 +00:00
Kaveh R. Ghazi
5ead67f603 c-format.c (handle_format_attribute): Fix -Wc++-compat and/or -Wcast-qual warnings.
* c-format.c (handle_format_attribute): Fix -Wc++-compat and/or
	-Wcast-qual warnings.
	* c-pragma.c (dpm_eq, handle_pragma_push_macro,
	handle_pragma_pop_macro): Likewise.
	* collect2.c (resolve_lib_name): Likewise.
	* config/arc/arc.c (arc_init): Likewise.
	* config/arm/arm.c (neon_builtin_compare,
	locate_neon_builtin_icode): Likewise.
	* config/arm/pe.c (arm_mark_dllexport, arm_pe_unique_section):
	Likewise.
	* config/bfin/bfin.c (bfin_init_machine_status,
	bfin_optimize_loop): Likewise.
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Likewise.
	* config/cris/cris.c (cris_init_expanders): Likewise.
	* config/darwin-c.c (frameworks_in_use, add_framework): Likewise.
	* config/darwin.c (machopic_indirection_eq,
	machopic_indirection_name, machopic_output_indirection):
	Likewise.
	* config/frv/frv.c (frv_init_machine_status, frv_compare_insns,
	frv_io_check_address, frv_io_handle_set, frv_io_handle_use_1,
	frv_optimize_membar): Likewise.
	* config/i386/cygwin.h (mingw_scan,
	GCC_DRIVER_HOST_INITIALIZATION): Likewise.
	* config/i386/cygwin1.c (mingw_scan): Likewise.
	* config/i386/i386.c (machopic_output_stub): Likewise.
	* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix,
	i386_pe_unique_section): Likewise.
	* config/ia64/ia64.c (ia64_init_machine_status,
	ia64_h_i_d_extended, get_free_bundle_state, bundling, ia64_reorg):
	Likewise.
	* config/iq2000/iq2000.c, iq2000_init_machine_status): Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_encode_label): Likewise.
	* config/m68k/m68k.c (m68k_handle_option,
	m68k_sched_md_init_global): Likewise.
	* config/mcore/mcore.c (mcore_mark_dllexport,
	mcore_mark_dllimport, mcore_unique_section): Likewise.
	* config/mips/mips.c (mips_block_move_straight,
	mips16_rewrite_pool_refs, mips_sim_wait_regs_2,
	mips_sim_record_set): Likewise.
	* config/mmix/mmix.c (mmix_init_machine_status,
	mmix_encode_section_info): Likewise.
	* config/pa/pa.c (pa_init_machine_status, hppa_encode_label):
	Likewise.
	* config/rs6000/rs6000.c (rs6000_init_machine_status,
	print_operand_address, output_toc, redefine_groups,
	rs6000_elf_encode_section_info, machopic_output_stub): Likewise.
	* config/s390/s390.c (s390_init_machine_status): Likewise.
	* config/score/score.c (score_block_move_straight,
	score_block_move_loop_body): Likewise.
	* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
	* emit-rtl.c (find_auto_inc): Likewise.
	* gcc.c (translate_options, process_command): Likewise.
	* reorg.c (dbr_schedule): Likewise.
	* sdbout.c (sdbout_start_source_file, sdbout_init): Likewise.
	* xcoffout.c (xcoffout_declare_function): Likewise.

From-SVN: r137191
2008-06-27 16:53:54 +00:00
Daniel Berlin
d1caaa7618 Don't mark statements modified when we are in ipa mode
From-SVN: r137189
2008-06-27 16:11:35 +00:00
David Edelsohn
edae5fe3f2 [multiple changes]
2008-06-27  David Edelsohn  <edelsohn@gnu.org>

        * config/rs6000/t-aix52: Append large data option to LDFLAGS for
        genautomata.

2008-06-27  Edmar Wienskoski  <edmar@freescale.com>

        * config.gcc (powerpc*-*-*): Add new core e500mc.
        * config/rs6000/e500mc.md: New file.
        * config/rs6000/rs6000.c (processor_costs): Add new costs for
        e500mc.
        (rs6000_override_options): Add e500mc case to
        processor_target_table. Altivec and Spe options not allowed
        with e500mc. Add isel instruction to e500mc by
        default. Initialize rs6000_cost for e500mc.
        (rs6000_issue_rate): Set issue rate for e500mc.
        * config/rs6000/rs6000.h (processor_type): Add
        PROCESSOR_PPCE500MC.
        (ASM_CPU_SPEC): Add e500mc.
        Set TARGET_ISEL to rs6000_isel.
        * config/rs6000/e500.h: Remove redefinition of TARGET_ISEL.
        (CHECK_E500_OPTIONS): Remove TARGET_ISEL.
        * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc..
        Include e500mc.md.
        * doc/invoke.texi: Add e500mc to list of cpus.

From-SVN: r137176
2008-06-27 08:43:55 -04:00
Laurynas Biveinis
098b9c467c re PR c/34867 (valgrind error indication in testsuite from c-lex.c:996:c_lex_with_flags for gcc.dg/cpp/charconst.c)
2008-06-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	PR c/34867
	* c-lex.c (lex_charconst): Initialize unsignedp.

From-SVN: r137175
2008-06-27 12:29:55 +00:00
Paolo Carlini
fa52081d86 stl_numeric.h (iota): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_numeric.h (iota): Add in C++0x mode.
	* testsuite/util/testsuite_character.h (pod_int): Add operator++
	in C++0x mode.
	* testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
	* testsuite/26_numerics/iota/1.cc: New.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	pod.cc: Likewise.

	* include/ext/algorithm: Do not fiddle with the legacy headers.

	* testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
	style.
	* testsuite/26_numerics/accumulate/1.cc: Likewise.
	* testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
	* testsuite/26_numerics/inner_product/1.cc: Likewise.

From-SVN: r137174
2008-06-27 10:47:27 +00:00
Eric Botcazou
d9338c6726 utils.c (convert): When converting it to a packable version of its type...
* utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
	version of its type, attempt to first convert its elements.

From-SVN: r137173
2008-06-27 09:16:45 +00:00
Olivier Hainque
b7d565dd00 Fix typo in ChangeLog entry date.
From-SVN: r137172
2008-06-27 07:46:26 +00:00
Olivier Hainque
1a13360e95 gimplify.c (gimplify_modify_expr_to_memset): Assert our documented assumptions.
2008-06-26  Olivier Hainque  <hainque@adacore.com>

	gcc/
	* gimplify.c (gimplify_modify_expr_to_memset): Assert our
	documented assumptions.

	testsuite/
	* gnat.dg/aligned_vla.adb: New test.

From-SVN: r137171
2008-06-27 07:35:33 +00:00
H.J. Lu
4b5705609b dwarf2out.c: Remove trailing white spaces.
2008-06-26  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf2out.c: Remove trailing white spaces.  Break long line
	in comments.

From-SVN: r137169
2008-06-26 22:37:52 -07:00
GCC Administrator
4d5add736e Daily bump.
From-SVN: r137167
2008-06-27 00:17:12 +00:00
Richard Sandiford
e2ff10a93c libfuncs.h (LTI_synchronize): New libfunc_index.
gcc/
	* libfuncs.h (LTI_synchronize): New libfunc_index.
	(synchronize_libfunc): Declare.
	* builtins.c (expand_builtin_synchronize): Consider using
	synchronize_libfunc before falling back on an asm blockage.
	* config/mips/mips.c: Include libfuncs.h
	(mips_init_libfuncs): Initialize synchronize_libfunc for TARGET_MIPS16.

From-SVN: r137162
2008-06-26 21:28:30 +00:00
Nathan Froyd
f78c3290cd rs6000.c (emit_allocate_stack): Add copy_r11 parameter.
* config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
	parameter.  Copy stack_reg to r11 where appropriate.
	(no_global_regs_above): Add gpr parameter.
	(rs6000_stack_info): Only add padding for SPE save area if we
	are saving SPE GPRs and CR.
	(saveres_routine_syms): New variable.
	(FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
	Define.
	(rs6000_savres_routine_sym): New function.
	(rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
	split out of...
	(rs6000_emit_epilogue): ...here.  Use rs6000_use_multiple_p and
	rs6000_savres_strategy.  Restore GPRs out-of-line if appropriate.
	Tweak FPR out-of-line saving.
	(rs6000_make_savres_rtx): New function.
	(rs6000_use_multiple_p): New function.
	(rs6000_savres_strategy): New function.
	(rs6000_emit_prologue): Use rs6000_savres_strategy.  Save GPRs
	out-of-line if appropriate.
	* config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
	if we are optimizing for size.
	(GP_SAVE_INLINE): Define.
	(SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
	* config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
	* config/rs6000/aix.h (GP_SAVE_INLINE): Define.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): New insn.
	(*save_fpregs_<mode>): Add use of r11.
	(*restore_gpregs_<mode>): New insn.
	(*return_and_restore_gpregs_<mode>): New insn.
	(*return_and_restore_fpregs_<mode>): Adjust to clobber LR and
	use r11.
	* config/rs6000/spe.md (*save_gpregs_spe): New insn.
	(*restore_gpregs_spe): New insn.
	(*return_and_restore_gpregs_spe): New insn.
	* config/rs6000/predicates.md (save_world_operation): Fix check.

From-SVN: r137160
2008-06-26 20:12:41 +00:00
Steven Bosscher
e24c4814fd tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at this point, so assert that.
* tree-into-ssa (insert_phi_nodes_for): 'var' must be a DECL at
	this point, so assert that.

From-SVN: r137159
2008-06-26 20:11:07 +00:00
Steven Bosscher
25e8772741 cfganal.c: Include vec.h and vecprim.h.
* cfganal.c: Include vec.h and vecprim.h.
	(compute_idf): Import from...
	* tree-into-ssa (compute_idf): ...here.
	* basic-block.h (compute_idf): Export.

From-SVN: r137158
2008-06-26 20:06:49 +00:00
James Lemke
ddb6492440 Update my e-mail address for my new employer.
From-SVN: r137156
2008-06-26 19:46:34 +00:00
H.J. Lu
eb19b3a373 Clean up ChangeLog entries.
From-SVN: r137153
2008-06-26 10:57:43 -07:00
Paolo Carlini
688a7a07d7 stl_algo.h (partition_copy): Add in C++0x mode.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_copy/1.cc: New.
	* testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137152
2008-06-26 17:55:23 +00:00
Joey Ye
99e782246c Add missing entry
From-SVN: r137151
2008-06-26 17:46:21 +00:00
Joseph Myers
74b0ec7c40 c-decl.c (merge_decls): Use !current_function_decl to check for extern declaration of C99 inline...
* c-decl.c (merge_decls): Use !current_function_decl to check for
	extern declaration of C99 inline function being at file scope.

testsuite:
	* gcc.dg/inline-32.c, gcc.dg/inline-32a.c: New tests.

From-SVN: r137149
2008-06-26 16:40:56 +01:00
Nathan Froyd
30551d999a t-ppccomm: Remove rules that conflict with auto-generated rules.
* config/rs6000/t-ppccomm: Remove rules that conflict with
	auto-generated rules.

From-SVN: r137148
2008-06-26 14:15:49 +00:00
Chris Fairles
b3754f1bec pointer_array.cc: New.
2008-06-26  Chris Fairles  <chris.fairles@gmail.com>

        * testsuite/20_util/unique_ptr/cons/pointer_array.cc: New.
        * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
        * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc:
        Likewise.
        * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
        * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
        * testsuite/20_util/unique_ptr/specialized_algorithms/
        comparisons_array.cc: Likewise.
        * testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc:
        Likewise
        * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
        Likewise.

From-SVN: r137147
2008-06-26 11:36:02 +00:00
Paolo Carlini
2dcc0099c8 base.h (plus, multiplies): Use __typeof__, not typeof.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (plus, multiplies): Use __typeof__,
	not typeof.

From-SVN: r137145
2008-06-26 10:45:31 +00:00
Chris Proctor
b4b010ad85 Makefile.in: Fix *86 kfreebsd target specific pairs.
2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>

    gcc/ada/
	* Makefile.in: Fix *86 kfreebsd target specific pairs.

    gnattools/
	* configure.ac, configure: Fix target specific pairs.

From-SVN: r137144
2008-06-26 10:16:26 +00:00
Ira Rosen
95730f5e35 * testsuite/lib/target-supports.exp
(check_effective_target_vect_cmdline_needed): Add SPU to the list
	of targets that do not need command line argument to enable SIMD.

From-SVN: r137142
2008-06-26 06:31:16 +00:00
Ira Rosen
e4371462d3 vect.exp: Run tests with -funroll-loops for SPU in case of -O3.
* gcc.dg/vect/vect.exp: Run tests with -funroll-loops for SPU in case
	of -O3.

From-SVN: r137141
2008-06-26 06:19:19 +00:00
Ira Rosen
8cdf0bd0cb re PR target/36510 (gcc.dg/vect/costmodel/ppc failures)
PR target/36510
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: Change the loop
	bound.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76c.c,
	gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: Likewise.

From-SVN: r137140
2008-06-26 06:09:49 +00:00
John David Anglin
f3d14ed586 config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.
* config.gcc (hppa[12]*-*-hpux10*): Don't use fixproto.

From-SVN: r137138
2008-06-26 00:41:59 +00:00
Kaveh R. Ghazi
f883e0a7dc alias.c (record_alias_subset, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings.
* alias.c (record_alias_subset, init_alias_analysis): Fix
	-Wc++-compat and/or -Wcast-qual warnings.
	* attribs.c (lookup_attribute_spec): Likewise.
	* bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
	copy_bb, connect_traces,
	find_rarely_executed_basic_blocks_and_cr): Likewise.
	* bt-load.c (find_btr_def_group, add_btr_def, new_btr_user,
	note_btr_set, migrate_btr_defs): Likewise.
	* builtins.c (result_vector, expand_builtin_memcpy,
	expand_builtin_mempcpy_args, expand_builtin_strncpy,
	builtin_memset_read_str, expand_builtin_printf,
	fold_builtin_memchr, rewrite_call_expr, fold_builtin_printf):
	Likewise.
	* caller-save.c (mark_set_regs): Likewise.
	* calls.c (expand_call, emit_library_call_value_1): Likewise.
	* cgraph.c (cgraph_edge): Likewise.
	* combine.c (likely_spilled_retval_1): Likewise.
	* coverage.c (htab_counts_entry_hash, htab_counts_entry_eq,
	htab_counts_entry_del, get_coverage_counts): Likewise.
	* cselib.c (new_elt_list, new_elt_loc_list, entry_and_rtx_equal_p,
	new_cselib_val): Likewise.
	* dbgcnt.c (dbg_cnt_process_opt): Likewise.
	* dbxout.c (dbxout_init, dbxout_type, output_used_types_helper):
	Likewise.
	* df-core.c (df_compact_blocks): Likewise.
	* df-problems.c (df_grow_bb_info, df_chain_create): Likewise.
	* df-scan.c (df_grow_reg_info, df_ref_create,
	df_insn_create_insn_record, df_insn_rescan, df_notes_rescan,
	df_ref_compare, df_ref_create_structure, df_bb_refs_record,
	df_record_entry_block_defs, df_record_exit_block_uses,
	df_bb_verify): Likewise.
	* df.h (DF_REF_EXTRACT_WIDTH_CONST, DF_REF_EXTRACT_OFFSET_CONST,
	DF_REF_EXTRACT_MODE_CONST): New.
	* dominance.c (get_immediate_dominator, get_dominated_by,
	nearest_common_dominator, root_of_dom_tree,
	iterate_fix_dominators, first_dom_son, next_dom_son): Fix
	-Wc++-compat and/or -Wcast-qual warnings.
	* dse.c (clear_alias_set_lookup, get_group_info, gen_rtx_MEM,
	record_store, replace_read, check_mem_read_rtx, scan_insn,
	dse_step1, dse_record_singleton_alias_set): Likewise.
	* dwarf2asm.c (dw2_force_const_mem): Likewise.

From-SVN: r137137
2008-06-26 00:28:15 +00:00
Kaveh R. Ghazi
1b4572a81d dwarf2out.c (new_cfi, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings.
* dwarf2out.c (new_cfi, queue_reg_save, dwarf2out_begin_prologue,
	dwarf2out_frame_init, new_loc_descr, new_die, lookup_decl_die,
	lookup_decl_loc, add_var_loc_to_decl, compute_section_prefix,
	assign_symbol_names, htab_cu_hash, htab_cu_eq, htab_cu_del,
	build_abbrev_table, new_loc_list, output_comp_unit, add_arange,
	add_ranges_num, add_ranges_by_labels, file_info_cmp,
	file_name_acquire, output_file_names, add_const_value_attribute,
	premark_used_types_helper, file_table_eq, file_table_hash,
	lookup_filename, dwarf2out_var_location, dwarf2out_source_line,
	dwarf2out_init, file_table_relative_p): Fix -Wc++-compat and/or
	-Wcast-qual warnings.
	* ebitmap.c (ebitmap_array_grow, ebitmap_array_init,
	ebitmap_alloc, ebitmap_ior, ebitmap_and_compl): Likewise.
	* emit-rtl.c (get_mem_attrs, get_reg_attrs, gen_rtvec,
	gen_reg_rtx, start_sequence, init_emit): Likewise.
	* et-forest.c (et_new_occ, et_new_tree): Likewise.
	* except.c (init_eh_for_function, gen_eh_region,
	remove_unreachable_regions, add_ehl_entry, duplicate_eh_regions_1,
	arh_to_landing_pad, arh_to_label, add_action_record,
	add_call_site, switch_to_exception_section): Likewise.
	* expmed.c (synth_mult): Likewise.
	* expr.c (gen_group_rtx, emit_group_load, emit_group_store,
	store_expr): Likewise.
	* final.c (shorten_branches, final_scan_insn, debug_queue_symbol):
	Likewise.
	* function.c (assign_stack_temp_for_type,
	allocate_struct_function, match_asm_constraints_1): Likewise.
	* gcov-io.c (gcov_allocate): Likewise.
	* gcse.c (GNEW, GCNEW, GNEWVEC, GCNEWVEC, GRESIZEVEC, GNEWVAR,
	GCNEWVAR, GRESIZEVAR, GOBNEW, GOBNEWVAR): New.
	(gcse_main, alloc_gcse_mem, alloc_gcse_mem, alloc_reg_set_mem,
	record_one_set, insert_expr_in_table, insert_set_in_table,
	dump_hash_table, compute_hash_table_work, alloc_hash_table,
	pre_ldst_expr_hash, pre_ldst_expr_eq, find_rtx_in_ldst,
	reg_set_info, reg_clear_last_set): Fix -Wc++-compat and/or
	-Wcast-qual warnings.

From-SVN: r137136
2008-06-26 00:25:08 +00:00
Kaveh R. Ghazi
7cbb2a85e7 cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or -Wcast-qual warnings.
* cse.c (approx_reg_cost_1, cse_insn): Fix -Wc++-compat and/or
	-Wcast-qual warnings.
	* gcc.c (process_command): Likewise.
	* genattrtab.c (oballoc): Use XOBNEW.
	(oballocvec): Define.
	(attr_hash_add_rtx, attr_hash_add_string, attr_string,
	get_attr_value, fill_attr, make_length_attrs, gen_attr, gen_insn,
	gen_delay, find_attr, gen_insn_reserv, gen_bypass_1): Fix
	-Wc++-compat and/or -Wcast-qual warnings.
	* genautomata.c (XCREATENODE, XCREATENODEVEC, XCREATENODEVAR,
	XCOPYNODE, XCOPYNODEVEC, XCOPYNODEVAR): New.
	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
	gen_presence_absence_set, gen_automaton, gen_regexp_el,
	gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
	gen_regexp_sequence, gen_reserv, gen_insn_reserv, process_excls,
	add_excls, process_presence_absence_names,
	process_presence_absence_patterns, add_presence_absence,
	process_regexp, add_advance_cycle_insn_decl, get_free_alt_state,
	get_free_state, add_arc, get_free_automata_list_el,
	form_reserv_sets_list, copy_insn_regexp, transform_1, transform_2,
	transform_3, cache_presence, create_ainsns, create_automata,
	create_state_ainsn_table, dfa_insn_code_enlarge,
	output_trans_func, output_min_issue_delay_func,
	output_dead_lock_func, output_reset_func,
	output_get_cpu_unit_code_func, output_dfa_start_func,
	expand_automata): Likewise.
	* genextract.c (gen_insn): Likewise.
	* gengtype-lex.l: Likewise.
	* gengtype.c (read_input_list, adjust_field_type,
	process_gc_options): Likewise.
	* genoutput.c (note_constraint): Likewise.
	* genpreds.c (mangle, add_constraint): Likewise.
	* genrecog.c (process_define_predicate, new_decision,
	add_to_sequence): Likewise.
	* gensupport.c (record_insn_name): Likewise.

From-SVN: r137135
2008-06-26 00:22:12 +00:00
Kaveh R. Ghazi
d3bfe4decc driver-i386.c (detect_caches_amd, [...]): Fix -Wc++-compat and/or -Wcast-qual warnings.
* config/i386/driver-i386.c (detect_caches_amd,
	detect_caches_intel, host_detect_local_cpu): Fix -Wc++-compat
	and/or -Wcast-qual warnings.
	*ggc-common.c (ggc_mark_roots, gt_pch_note_object,
	gt_pch_note_reorder, relocate_ptrs, write_pch_globals,
	gt_pch_save): Likewise.
	* ggc-page.c (push_depth, push_by_depth, alloc_anon, alloc_page,
	gt_ggc_m_S, clear_marks, ggc_pch_read): Likewise.
	* global.c (compute_regsets): Likewise.
	* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
	finish_graph_dump_file): Likewise.
	* haifa-sched.c (schedule_block, extend_h_i_d, extend_ready,
	unlink_bb_notes): Likewise.
	* integrate.c (get_hard_reg_initial_val): Likewise.
	* ipa-prop.c (ipa_push_func_to_list): Likewise.
	* ipa-struct-reorg.c (gen_var_name, gen_cluster_name): Likewise.
	* local-alloc.c (update_equiv_regs): Likewise.
	* loop-invariant.c (check_invariant_table_size,
	hash_invariant_expr, eq_invariant_expr, find_or_insert_inv):
	Likewise.
	* loop-iv.c (check_iv_ref_table_size, analyzed_for_bivness_p,
	altered_reg_used, mark_altered): Likewise.
	* loop-unroll.c (si_info_eq, ve_info_eq, allocate_basic_variable,
	insert_var_expansion_initialization,
	combine_var_copies_in_loop_exit, apply_opt_in_copies,
	release_var_copies): Likewise.
	* matrix-reorg.c (mat_acc_phi_hash, mat_acc_phi_eq, mtt_info_eq,
	analyze_matrix_decl, add_allocation_site, analyze_transpose,
	analyze_accesses_for_phi_node, check_var_notmodified_p,
	check_allocation_function, find_sites_in_func,
	record_all_accesses_in_func, transform_access_sites,
	transform_allocation_sites): Likewise.
	* omp-low.c (new_omp_region, create_omp_child_function_name,
	check_omp_nesting_restrictions, check_combined_parallel,
	lower_omp_2, diagnose_sb_1, diagnose_sb_2): Likewise.
	* optabs.c (no_conflict_move_test, gen_libfunc, gen_fp_libfunc,
	gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
	gen_intraclass_conv_libfunc, set_optab_libfunc, set_conv_libfunc):
	Likewise.
	* opts-common.c (prune_options): Likewise.
	* opts.c (add_input_filename, print_filtered_help,
	get_option_state): Likewise.
	* params.c (add_params): Likewise.
	* passes.c (set_pass_for_id, next_pass_1,
	do_per_function_toporder, pass_fini_dump_file): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* predict.c (tree_predicted_by_p, tree_predict_edge,
	clear_bb_predictions, combine_predictions_for_bb): Likewise.

From-SVN: r137134
2008-06-26 00:18:25 +00:00
GCC Administrator
04298b116a Daily bump.
From-SVN: r137132
2008-06-26 00:17:37 +00:00