Commit Graph

89602 Commits

Author SHA1 Message Date
Jakub Jelinek 8660d96223 re PR debug/37322 (FAIL: gfortran.dg/debug/pr35154-dwarf2.f)
PR debug/37322
	* gfortran.dg/debug/pr35154-dwarf2.f: Fix up scan-assembler regexps.

From-SVN: r139954
2008-09-03 22:28:52 +02:00
Jeff Law bc9b880c60 h8300.c (expand_a_shift): Avoid invalid RTL sharing.
* h8300.c (expand_a_shift): Avoid invalid RTL sharing.

From-SVN: r139953
2008-09-03 14:22:49 -06:00
Vladimir Makarov 49d988e7e8 re PR middle-end/37243 (IRA causes wrong code generation)
2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-opt/37243

	* ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
	all_allocnos.

	* ira-color.c (print_loop_title): Use all_allocnos.
	(color_pass): Ditto.  Don't add border_allocnos.  Check that
	subloop allocno in the correspdoning bitmap all_allocnos.

	* ira-emit.c (change_loop): Use all_allocnos.

	* ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
	Ditto.
	(ira_create_allocno): Set up all_allocnos bit for the created
	allocno.
	(create_cap_allocno): Remove setting mentioned_allocnos.
	(create_insn_allocnos): Ditto.
	(remove_unnecessary_allocnos): Use all_allocnos.
	(check_allocno_creation): Check that allocnos are in the
	corresponding bitmap all_allocnos.

From-SVN: r139952
2008-09-03 20:20:57 +00:00
Richard Henderson 27738602d5 alpha.c (alpha_split_lock_test_and_set): Move memory barrier to below the test-and-set.
* config/alpha/alpha.c (alpha_split_lock_test_and_set): Move
        memory barrier to below the test-and-set.
        (alpha_split_lock_test_and_set_12): Likewise.

From-SVN: r139950
2008-09-03 13:15:27 -07:00
Vladimir Makarov a7f32992e3 re PR middle-end/37243 (IRA causes wrong code generation)
2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-opt/37243
	
	* ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
	(process_regs_for_copy): Process subregs.  Refine check when cost
	is taken into account in ira-costs.c.
	(process_reg_shuffles): Use REG_SUBREG_P.
	(add_insn_allocno_copies): Ditto.  Ignore modes.

	* ira-color.c (conflict_allocno_vec): New.
	(COST_HOP_DIVISOR): New macro.
	(update_copy_costs_1): Use it.
	(update_conflict_hard_regno_costs): New function.
	(assign_hard_reg): Use it.
	(ira_color): Allocate and free conflict_allocno_vec.

From-SVN: r139949
2008-09-03 20:12:27 +00:00
Vladimir Makarov 204853a765 re PR rtl-optimization/37296 (Bootstrap failure compiling libgcc)
2008-09-03  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-opt/37296

	* ira-int.h (ira_sort_insn_chain): Remove.

	* ira.c (basic_block_order_nums, chain_insn_order,
	chain_freq_compare, chain_bb_compare, ira_sort_insn_chain): Remove.
	(ira): Don't call ira_sort_insn_chain.

	* reload1.c (reload): Don't call ira_sort_insn_chain.

From-SVN: r139948
2008-09-03 19:49:30 +00:00
Andrew Pinski e8f97b70cb re PR middle-end/36445 (ICE in expand_expr_real_1 with -O1 with vector registers)
2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36445
        * g++.dg/torture/pr36445.C: New test.

From-SVN: r139947
2008-09-03 12:27:35 -07:00
Andrew Pinski c0ab1df3bb re PR middle-end/37293 (r139762 breaks libstdc++ build on darwin)
2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/37293
        * cgraphunit.c (update_call_expr): Remove eh regions from statements
        which become non throw.
        (cgraph_function_versioning): Also clear DECL_WEAK.  Call
        update_call_expr after updating the flags on the decl.

2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/37293
        * g++.dg/torture/ipa-cp-1.C: New test.

From-SVN: r139946
2008-09-03 11:48:27 -07:00
Jan Hubicka 39ecc01879 re PR tree-optimization/37315 (gcc.c-torture/execute/931018-1.c int-compare.c ieee/inf-2.c mzero6.c)
PR tree-optimization/37315
	* cgraph.c (cgraph_create_edge): Use gimple_has_body_p.
	* cgraphunit.c (verify_cgraph_node): drop gimple_body check.
	(cgraph_analyze_functions): Use node->analyzed
	(cgraph_mark_functions_to_output): Likewise.
	(cgraph_expand_function): All functions can be released after
	expanding.
	(cgraph_optimize): Use gimple_has_body_p.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Use analyzed flag.
	(cgraph_decide_inlining_incrementally): Likewise.
	(inline_transform): Inline transform.
	* tree-inline.c (initialize_cfun): Do now shallow copy structure;
	copy fields needed.
	(inlinable_function_p): Drop gimple_body check.
	(expand_call_inline): Use gimple_has_body_p.
	* gimple.c (gimple_has_body_p): New.
	* gimple.h (gimple_has_body_p): Add prototype.
	* tree-cfg.c (execute_build_cfg): Remove gimple_body.
	(dump_function_to_file): Use gimple_has_body_p check.

From-SVN: r139945
2008-09-03 18:16:26 +00:00
Chris Fairles cafea0e436 condition_variable: Use new deleted ctors.
2008-09-03  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/condition_variable: Use new deleted ctors.
        * include/std/mutex: Likewise plus implement timed_mutex, 
	recursive_timed_mutex and call_once.
	* src/condition_variable.cc: Implement wait(). Use gthread types.
	Remove _GTHREADS_HAS_COND checks in favor of global
	_GLIBCXX_HAS_GTHREADS.
	* src/mutex.cc (call_once): Implementation using TLS with mutex
	fallback.
	* config/abi/pre/gnu.ver: Add exported symbols.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
	* testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
	dg-require-gthreads and dg-require-cstdint.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
	lines for deleted members.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/call_once/once_flag.cc: New.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r139944
2008-09-03 17:47:32 +00:00
Chris Fairles 7b800287b7 condition_variable: Use new deleted ctors.
2008-09-03  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/condition_variable: Use new deleted ctors.
        * include/std/mutex: Likewise plus implement timed_mutex, 
	recursive_timed_mutex and call_once.
	* src/condition_variable.cc: Implement wait(). Use gthread types.
	Remove _GTHREADS_HAS_COND checks in favor of global
	_GLIBCXX_HAS_GTHREADS.
	* src/mutex.cc (call_once): Implementation using TLS with mutex
	fallback.
	* config/abi/pre/gnu.ver: Add exported symbols.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
	* testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
	dg-require-gthreads and dg-require-cstdint.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
	lines for deleted members.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/call_once/once_flag.cc: New.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r139943
2008-09-03 17:46:09 +00:00
Jakub Jelinek 169e477d01 Fix up PR number - PR c++/37346
From-SVN: r139941
2008-09-03 19:30:35 +02:00
Richard Guenther 36a881c739 configure.ac: Always pass -DCLOOG_PPL_BACKEND to the cloog test.
2008-09-03  Richard Guenther  <rguenther@suse.de>

	* configure.ac: Always pass -DCLOOG_PPL_BACKEND to the
	cloog test.
	* configure: Re-generate.

From-SVN: r139940
2008-09-03 16:08:05 +00:00
David Edelsohn e4b16c6d06 * g++.dg/ext/java-2.C: Disable on AIX.
From-SVN: r139938
2008-09-03 09:18:42 -04:00
Jakub Jelinek 05a26161b4 re PR target/37436 (arm-cross-g++. internal compiler error: in extract_insn, at recog.c:1990)
PR c++/37436
	* gimple.h (gimple_has_substatements): GIMPLE_OMP_CRITICAL has
	substatements.
	* tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_CRITICAL.

	* g++.dg/gomp/pr37436.C: New test.

From-SVN: r139937
2008-09-03 15:03:56 +02:00
Bernd Schmidt a6340be144 gcc/
From Michael Frysinger  <michael.frysinger@analog.com>
	* config/bfin/bfin.c (bfin_cpus[]): Add 0.1 for bf522, bf523, bf524,
	bf525, bf526, bf527, bf542, bf544, bf547, bf548, and bf549.  Add 0.2
	for bf538.

gcc/testsuite/
	From Mike Frysinger  <michael.frysinger@analog.com>
	* gcc.target/bfin/mcpu-bf522.c: Check SILICON_REVISION is 0x0001.
	* gcc.target/bfin/mcpu-bf523.c: Likewise.
	* gcc.target/bfin/mcpu-bf524.c: Likewise.
	* gcc.target/bfin/mcpu-bf525.c: Likewise.
	* gcc.target/bfin/mcpu-bf526.c: Likewise.
	* gcc.target/bfin/mcpu-bf527.c: Likewise.
	* gcc.target/bfin/mcpu-bf542.c: Likewise.
	* gcc.target/bfin/mcpu-bf544.c: Likewise.
	* gcc.target/bfin/mcpu-bf547.c: Likewise.
	* gcc.target/bfin/mcpu-bf548.c: Likewise.
	* gcc.target/bfin/mcpu-bf549.c: Likewise.

From-SVN: r139935
2008-09-03 12:23:19 +00:00
Paul Brook aaf40205eb Move picochip directory to correct location.
From-SVN: r139934
2008-09-03 12:19:34 +00:00
Hari Sandanagobalane 358da97e4e Add picoChip port.
2008-09-03  Hari Sandanagobalane  <hariharan@picochip.com>

	Add picoChip port.
	* MAINTAINERS: Add picoChip maintainers.
	libgcc/
	* config.host: Add picochip-*-*.
	gcc/
	* doc/extend.texi: Document picoChip builtin functions.
	* doc/invoke.texi: Document picoChip options.
	* doc/contrib.texi: Add picoChip contribution.
	* doc/md.texi: Document picoChip constraints.
	* config.gcc: Add picochip-*-*.
	* config/picochip/: Add new port.

From-SVN: r139932
2008-09-03 12:10:49 +00:00
Richard Guenther 44299c9601 re PR ada/37328 (ACATS la14021 ICE in gimple_assign_set_rhs1, at gimple.h:1747)
2008-09-03  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37328
	* tree-sra.c (sra_build_assignment): Gimplify properly.
	(generate_copy_inout): Take the correct stmt as definition,
	remove bogus assert.

From-SVN: r139931
2008-09-03 11:35:18 +00:00
Bernd Schmidt 829dbae513 From Michael Frysinger <michael.frysinger@analog.com>
* config/bfin/bfin.c (bfin_handle_option): Remove BF561 warning.

From-SVN: r139930
2008-09-03 09:49:29 +00:00
Bernd Schmidt 3b62f0e14b bfin.c (bfin_expand_prologue): Honour no_stack_limit attribute.
* config/bfin/bfin.c (bfin_expand_prologue): Honour no_stack_limit
	attribute.

From-SVN: r139928
2008-09-03 09:32:18 +00:00
Danny Smith fea16f8128 gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined.
* gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
	defined.
	(__gthread_setspecific): Revert 2008-08-31 change to
	__GTHREAD_HIDE_W32API case.  Apply it to !__GTHREAD_HIDE_W32API
	case.

From-SVN: r139927
2008-09-03 06:07:34 +00:00
Jason Merrill 4ad610c978 re PR c++/37208 (C++0x deleted functions and SFINAE)
PR c++/37208
        * call.c (build_over_call): Make =delete work with SFINAE.
        * class.c (resolve_address_of_overloaded_function): Likewise.

        * cp-tree.h (struct lang_decl_flags): Rename threadprivate_p to
        threadprivate_or_deleted_p.
        (CP_DECL_THREADPRIVATE_P): Adjust.
        (DECL_DELETED_FN): Likewise.
        (SD_UNINITIALIZED, SD_INITIALIZED, SD_DEFAULTED): New macros.
        (SD_DELETED): New macro.
        * parser.c (cp_parser_init_declarator): Use them.
        * decl.c (start_decl): Use them.

        * decl2.c (mark_used): Give =deleted error even in sizeof.

        * typeck2.c (check_narrowing): Downgrade narrowing error to
        permerror.

From-SVN: r139926
2008-09-03 00:10:27 -04:00
Aldy Hernandez a63068b6dd diagnostic.c (error_at): New.
* diagnostic.c (error_at): New.
        * toplev.h (error_at): New prototype.
        * c-typeck.c (build_array_ref): Call error_at instead of error.
        Pass location to pedwarn.
cp/
        * typeck.c (build_array_ref): Use new location argument.
        * class.c (build_vtbl_ref_1): Pass location to build_array_ref.
        * call.c (build_new_op): Same.
        * decl2.c (grok_array_decl): Same.
        * cp-tree.h (build_array_ref): Add location argument to prototype.

From-SVN: r139924
2008-09-03 01:00:04 +00:00
GCC Administrator aeb76a25a7 Daily bump.
From-SVN: r139922
2008-09-03 00:16:33 +00:00
John David Anglin 24ce68eed9 pr33009.c: xfail on hppa*-*-*.
* gcc.c-torture/compile/pr33009.c: xfail on hppa*-*-*.
	* gcc.c-torture/compile/pr11832.c: Likewise.

From-SVN: r139919
2008-09-02 23:43:21 +00:00
Adam Nemet 13eaee4a59 Fix previous changelog entry.
From-SVN: r139918
2008-09-02 21:45:45 +00:00
Adam Nemet a20d71301e * sel-sched.c (fur_orig_expr_found): Mark arguments unused.
From-SVN: r139916
2008-09-02 21:41:16 +00:00
Sebastian Pop b328f3af06 Add the Graphite merge entry.
From-SVN: r139912
2008-09-02 20:02:37 +00:00
Jakub Jelinek dd4bf866ad dwarf2out.c (tree_add_const_value_attribute): Only handle VAR_DECL and CONST_DECL.
* dwarf2out.c (tree_add_const_value_attribute): Only handle
	VAR_DECL and CONST_DECL.

From-SVN: r139911
2008-09-02 21:59:58 +02:00
H.J. Lu 4aab97f958 i386.c (X86_64_VARARGS_SIZE): Removed.
* config/i386/i386.c (X86_64_VARARGS_SIZE): Removed.
	(setup_incoming_varargs_64): Assume cum != NULL. Set/check
	ix86_varargs_gpr_size and ix86_varargs_fpr_size.  Use
	ix86_varargs_gpr_size instead of X86_64_REGPARM_MAX.
	Don't set ix86_save_varrargs_registers.
	(ix86_setup_incoming_varargs): Assume cum != NULL.
	(ix86_va_start): Check ix86_varargs_gpr_size and
	ix86_varargs_fpr_size instead of cfun->va_list_gpr_size and
	cfun->va_list_fpr_size, respectively.  Subtract 8*X86_64_REGPARM_MAX
	from frame pointer if ix86_varargs_gpr_size == 0.
	(ix86_compute_frame_layout): Updated.
	* config/i386/i386.h (ix86_save_varrargs_registers): Removed.
	(ix86_varargs_gpr_size): Define.
	(ix86_varargs_fpr_size): Likewise.
	(machine_function): Remove save_varrargs_registers.
	Add varargs_gpr_size and varargs_fpr_size.

	* gcc.target/i386/amd64-abi-3.c: New test.
	* gcc.target/i386/amd64-abi-4.c: Likewise.
	* gcc.target/i386/amd64-abi-5.c: Likewise.
	* gcc.target/i386/amd64-abi-6.c: Likewise.

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

From-SVN: r139910
2008-09-02 21:49:41 +02:00
Jakub Jelinek 777b1fbef1 alpha.c (va_list_skip_additions, [...]): Tuplify.
* config/alpha/alpha.c (va_list_skip_additions,
	alpha_stdarg_optimize_hook, alpha_gimplify_va_arg_1): Tuplify.
	(alpha_gimplify_va_arg): Call unshare_expr on second use of
	offset_field.

From-SVN: r139909
2008-09-02 21:28:34 +02:00
Jakub Jelinek 833ee764e7 re PR tree-optimization/36766 (natGC.cc:229: internal compiler error: Segmentation fault)
PR tree-optimization/36766
	* tree-cfg.c (gimple_purge_all_dead_eh_edges): Do nothing
	for already removed basic blocks.

	* g++.dg/tree-ssa/pr36766.C: New test.

From-SVN: r139908
2008-09-02 21:13:47 +02:00
Jakub Jelinek c83c7e7e47 re PR testsuite/36332 (FAIL: gcc.dg/torture/type-generic-1.c execution test on powerpc-*)
PR target/36332
	* real.c (real_maxval): Clear a lower bit to make real_maxval
	match get_max_float for IBM long double format.

	* gcc.c-torture/execute/ieee/pr36332.c: New test.

From-SVN: r139906
2008-09-02 20:46:29 +02:00
Andreas Schwab 75c9cbe355 configure.ac: Use m4_quote to quote the expansion of m4_do.
* configure.ac: Use m4_quote to quote the expansion of m4_do.
* configure: Regenerate.

From-SVN: r139905
2008-09-02 18:43:30 +00:00
Jakub Jelinek ef66fb294a re PR c/37171 (Canonical spelling optimization dependency)
PR c/37171
	* g++.dg/ext/attrib34.C: New test.

From-SVN: r139904
2008-09-02 20:42:48 +02:00
Richard Sandiford dd59ef130e simplify-rtx.c (simplify_binary_operation_1): Check for CONST...
gcc/
	* simplify-rtx.c (simplify_binary_operation_1): Check for CONST,
	SYMBOL_REF and LABEL_REF when applying plus_constant, instead of
	checking for a non-VOID CONSTANT_P.

From-SVN: r139903
2008-09-02 18:39:32 +00:00
Jan Hubicka edcfeaeebe * predict.c (pass_strip_predict_hints): Avoid bugs dump file.
From-SVN: r139898
2008-09-02 18:10:54 +00:00
Jan Hubicka 0d77cc6c17 * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
From-SVN: r139897
2008-09-02 18:09:05 +00:00
H.J. Lu e0978eba9f expr.c (emit_group_store): Don't assert stack temp mode size.
2008-09-02  H.J. Lu  <hongjiu.lu@intel.com>

	* expr.c (emit_group_store): Don't assert stack temp mode size.

From-SVN: r139894
2008-09-02 09:36:49 -07:00
Sebastian Pop f8bf925265 backport: configure: Regenerate.
2008-09-02  Sebastian Pop  <sebastian.pop@amd.com>
	    Tobias Grosser  <grosser@fim.uni-passau.de>
	    Jan Sjodin  <jan.sjodin@amd.com>
	    Harsha Jagasia  <harsha.jagasia@amd.com>
	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
	    Konrad Trifunovic  <konrad.trifunovic@inria.fr>
	    Adrien Eliche  <aeliche@isty.uvsq.fr>

	Merge from graphite branch.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* configure.ac (host_libs): Add ppl and cloog.
	Add checks for PPL and CLooG.
	* Makefile.def (ppl, cloog): Added modules and dependences.
	* Makefile.tpl (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): New.
	(HOST_PPLLIBS, HOST_PPLINC, HOST_CLOOGLIBS, HOST_CLOOGINC): New.

gcc/
	* graphite.c: New.
	* graphite.h: New.
	* tree-loop-linear.c (perfect_loop_nest_depth): Export.
	* doc/invoke.texi (-floop-block, -floop-interchange,
	-floop-strip-mine): Document new flags.
	* tree-into-ssa.c (gimple_vec): Moved...
	* tree-loop-distribution.c (rdg_component): Moved...
	* cfgloopmanip.c: Include tree-flow.h.
	(update_dominators_in_loop): New.
	(create_empty_if_region_on_edge): New.
	(create_empty_loop_on_edge): New.
	(loopify): Use update_dominators_in_loop.
	* tree-pass.h (pass_graphite_transforms): Declared.
	* configure: Regenerate.
	* tree-phinodes.c (make_phi_node): Export.
	(add_phi_node_to_bb): New, split from create_phi_node.
	* tree-chrec.c (for_each_scev_op): New.
	* tree-chrec.h (for_each_scev_op): Declared.
	* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
	(remove_statement): Call get_phi_with_result.
	* config.in (HAVE_cloog): Undef.
	* gdbinit.in (pgg): New.
	* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
	* tree-ssa-loop.c (graphite_transforms): New.
	(gate_graphite_transforms): New.
	(pass_graphite_transforms): New.
	* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
	HAVE_cloog): Defined.
	* tree-vectorizer.c (rename_variables_in_bb): Export.
	* tree-data-ref.c (dr_may_alias_p): Export.
	(stmt_simple_memref_p): New.
	(find_data_references_in_stmt): Export.
	(find_data_references_in_loop): Export.
	(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
	(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
	(create_rdg_vertices): Export.
	(build_empty_rdg): New.
	(build_rdg): Call build_empty_rdg.  Free dependence_relations.
	* tree-data-ref.h (rdg_component): ... here.
	(scop_p): New.
	(struct data_reference): Add a field scop.
	(DR_SCOP): New.
	(find_data_references_in_loop): Declared.
	(find_data_references_in_stmt): Declared.
	(create_rdg_vertices): Declared.
	(dr_may_alias_p): Declared.
	(stmt_simple_memref_p): Declared.
	(struct rdg_edge): Add a field ddr_p relation.
	(build_empty_rdg): Declared.
	* lambda.h (lambda_matrix): Declare a VEC of.
	(find_induction_var_from_exit_cond): Declared.
	(lambda_vector_compare): New.
	* common.opt (fgraphite, floop-strip-mine,
	floop-interchange, floop-block): New flags.
	* lambda-code.c (find_induction_var_from_exit_cond): Export.
	* cfgloop.c (is_loop_exit): New.
	* cfgloop.h (is_loop_exit): Declared.
	(create_empty_if_region_on_edge): Declared.
	(create_empty_loop_on_edge): Declared.
	* tree-flow.h (add_phi_node_to_bb): Declared.
	(make_phi_node): Declared.
	(rename_variables_in_bb): Declared.
	(perfect_loop_nest_depth): Declared.
	(graphite_transform_loops): Declared.
	* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
	(graphite.o-warn): Add -Wno-error.
	(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
	(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
	(INCLUDES): Add PPLINC, CLOOGINC.
	(OBJS-common): Add graphite.o.
	(graphite.o): Add rule.
	* gimple.h (gimple_vec): ... here.
	* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
	* passes.c (init_optimization_passes): Schedule 
	pass_graphite_transforms.

testsuite/

	* gcc.dg/graphite/scop-{0,1,2,3,4,5,6,7,8,9,
	10,11,12,13,14,15,16,17,18}.c: New.
	* gcc.dg/graphite/graphite.exp: New.
	* gcc.dg/graphite/scop-matmult.c: New.
	* gcc.dg/graphite/block-0.c: New.
	* lib/target-supports.exp (check_effective_target_fgraphite): New.
	* gfortran.dg/graphite/block-1.f90: New.
	* gfortran.dg/graphite/scop-{1,2}.f: New.
	* gfortran.dg/graphite/block-{1,3,4}.f90: New.
	* gfortran.dg/graphite/graphite.exp: New.


Co-Authored-By: Adrien Eliche <aeliche@isty.uvsq.fr>
Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
Co-Authored-By: Harsha Jagasia <harsha.jagasia@amd.com>
Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>
Co-Authored-By: Konrad Trifunovic <konrad.trifunovic@inria.fr>
Co-Authored-By: Tobias Grosser <grosser@fim.uni-passau.de>

From-SVN: r139893
2008-09-02 16:31:04 +00:00
Samuel Tardieu 57b08d04c6 re PR target/37283 (Cannot build crtbegin.o for ARM)
gcc/
	PR target/37283
	* opts.c (decode_options): Move processing of -fno-unit-at-a-time
	and -fno-toplevel-reorder after handle_options.

From-SVN: r139892
2008-09-02 16:23:29 +00:00
Paul Brook 7612f14d07 arm.c (arm_tune_cortex_a9): Define.
2008-09-02  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_tune_cortex_a9): Define.
	(arm_override_options): Set arm_tune_cortex_a9.
	(arm_rtx_costs_1): Make register shifts more expensive on Cortex-A9.
	(arm_issue_rate): Handle cortexa9.
	* config/arm/arm.h (arm_tune_cortex_a9): Declare.
	* config/arm/arm-cores.def: Add cortex-a9.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/arm.md: Include cortex-a9.md.
	(generic_sched, generic_vfp): Add cortexa9.
	* config/arm/cortex-a9.md: New file.

From-SVN: r139891
2008-09-02 15:01:52 +00:00
Richard Guenther a1b969a0d2 re PR tree-optimization/37327 (another ice in set_value_range, at tree-vrp.c:397)
2008-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37327
	* tree-vrp.c (register_new_assert_for): Make sure to not have
	TREE_OVERFLOW set on the bound.

	* gcc.c-torture/compile/pr37327.c: New testcase.

From-SVN: r139890
2008-09-02 13:48:11 +00:00
Andrey Belevantsev 7ab5df4871 Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.
2008-09-02  Alexander Monakov  <amonakov@ispras.ru>

        Fixed typo in date of the 2008-09-01 MOVE_RATIO commit.

        * config/ia64/ia64.opt (msched-ar-data-spec): Default to 1.
        * config/ia64/ia64.c (ia64_set_sched_flags): Always initialize
        spec_info->mask.

From-SVN: r139889
2008-09-02 17:02:44 +04:00
Victor Kaplansky f6d5e84ac3 spu.md (divdf3): Removed.
2008-09-02  Victor Kaplansky  <victork@il.ibm.com>

  * gcc/config/spu/spu.md (divdf3): Removed.

Testsuite Changelog:

  * gcc.dg/fastmath-2.c: New.

From-SVN: r139888
2008-09-02 12:38:32 +00:00
Jakub Jelinek 1aeaf0f764 re PR tree-optimization/37095 (Trouble with covariant return)
PR tree-optimization/37095
	* cgraph.c (cgraph_node): When creating new cgraph node after
	assembler_name_hash has been populated, record it in the hash
	table.

	* g++.dg/inherit/thunk9.C: New test.

From-SVN: r139887
2008-09-02 12:33:46 +02:00
Jerry DeLisle 900e887f6d re PR fortran/37228 (F2008: Support g0.<d> edit descriptor)
2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/37228
	* io.c (check_format): Allow specifying precision with g0 format.

2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37301
	PR libfortran/37228
	* io/io.h (write_real_g0): Declare new function to handle g0.d format.
	* io/transfer.c (formatted_transfer_scalar): Use new function.
	* io/format.c (parse_format_list): Enable g0.d.
	* io/write.c (write_a_char4): Delete unused var.
	(set_fnode_default): New function to set the default fnode w, d, and e
	factored from write_real. (write_real): Use new factored function.
	(write_real_g0): New function that sets d to that passed by g0.d format
	specifier and set format to ES.  Default values for w and e are used
	from the new function, set_fnode_default.

2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/37228
	* gfortran.dg/fmt_g0_4.f08: Revised test.

From-SVN: r139886
2008-09-02 10:50:13 +02:00
Daniel Kraft 52f4993488 gfortran.h (struct gfc_namespace): New member `implicit_loc'.
2008-09-02  Daniel Kraft  <d@domob.eu>

	* gfortran.h (struct gfc_namespace): New member `implicit_loc'.
	(gfc_add_abstract): New method.
	* decl.c (gfc_get_type_attr_spec): Match ABSTRACT attribute.
	(gfc_match_derived_decl): Copy abstract attribute in derived symbol.
	* dump-parse-tree.c (show_attr): Show ABSTRACT attribute as `ABSTRACT'
	only to allow for ABSTRACT types.
	* parse.c (parse_interface): Use new gfc_add_abstract.
	* primary.c (gfc_match_structure_constructor): Check that no ABSTRACT
	type is constructed.
	* resolve.c (resolve_typespec_used): New method.
	(resolve_fl_derived): Check type in respect to ABSTRACT attribute and
	check that no component is of an ABSTRACT type.
	(resolve_symbol): Check that no symbol is of an ABSTRACT type.
	(resolve_types): Check IMPLICIT declarations for ABSTRACT types.
	* symbol.c (gfc_merge_new_implicit): Remember loci of IMPLICIT's.
	(gfc_add_abstract): New method.

2008-09-02  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/abstract_type_1.f90: New test.
	* gfortran.dg/abstract_type_2.f03: New test.
	* gfortran.dg/abstract_type_3.f03: New test.
	* gfortran.dg/abstract_type_4.f03: New test.

From-SVN: r139885
2008-09-02 10:13:21 +02:00
Paul Brook 571191af26 invoke.texi: Document -mword-relocations.
2008-09-01  Paul Brook  <paul@codesourcery.com>

	* doc/invoke.texi: Document -mword-relocations.
	* config/arm/uclinux-elf.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/symbian.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/vxworks.h (TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/arm.c (arm_split_constant): Use arm_emit_movpair.
	(arm_rtx_costs_1, arm_size_rtx_costs): Handle HIGH and LO_SUM.
	(arm_emit_movpair): New function.
	(arm_print_operand <c>): Handle sybolic addresses.
	* config/arm/arm.h (TARGET_USE_MOVT): Define.
	(TARGET_DEFAULT_WORD_RELOCATIONS): Define.
	* config/arm/arm-protos.h (arm_emit_movpair): Add prototype.
	* config/arm/arm.opt: Add -mword-relocations.
	* config/arm/arm.md (movsi): Use arm_emit_movpair.
	(arm_movt, arm_movw): New.

From-SVN: r139881
2008-09-02 01:44:33 +00:00