1. 04 Sep, 2008 18 commits
    • acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of POSIX threads. · a1c5742d
      2008-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
       	* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
      	POSIX threads.
      	* configure: Regenerate.
      
      From-SVN: r139994
      Paolo Carlini committed
    • re PR middle-end/37243 (IRA causes wrong code generation) · acb37d29
      gcc/
      	PR middle-end/37243
      	* ira-build.c (form_loop_tree): Reverse BB walk.
      	(create_bb_allocnos): Likewise.
      	* ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
      	(mark_reg_store): Rename to...
      	(mark_ref_live): ...this and take a df_ref argument instead of
      	note_stores arguments.  Assert that we have a register.
      	(mark_reg_clobber): Delete.
      	(def_conflicts_with_inputs_p): New function.
      	(mark_reg_conflicts): Delete.
      	(mark_reg_death): Rename to...
      	(mark_ref_dead): ...this and take a df_ref argument instead of
      	a register.  Assert that we have a register.
      	(process_bb_node_lives): Hoist frequency calculation out of
      	instruction walk.  Convert from a forwards scan to a backwards scan.
      	Use DF_REF_USES and DF_REF_DEFS instead of register notes and
      	note_stores.  Remove EH_RETURN_DATA_REGNO and regs_set handling.
      	(create_allocno_live_ranges): Don't create regs_set.
      
      From-SVN: r139993
      Richard Sandiford committed
    • rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET. · e0c68ce9
      ./:	* rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND
      	or REG_LABEL_TARGET.
      	* calls.c (emit_library_call_value_1): Use MEM_P rather than
      	comparing MODE with MEM.
      	* gimple.c (gimple_build_predict): Cast END_PREDICTORS before
      	comparing with GF_PREDICT_TAKEN.
      	(gimple_get_lhs): Change code to enum gimple_code.
      	(gimple_set_lhs): Likewise.
      	* ifcvt.c (noce_process_if_block): Correct GET_MODE to GET_CODE.
      	* omp-low.c (find_omp_clause): Change kind parameter to enum
      	omp_clause_code.
      	* tree-flow.h (find_omp_clause): Update declaration.
      	* regrename.c (clear_dead_regs): Change kind parameter to enum
      	reg_note.
      	* reload1.c (eliminate_regs_1): Use REG_NOTE_KIND rather than
      	GET_MODE.
      	* see.c (see_get_extension_data): Change return type to enum
      	entry_type.  Change UNKNOWN to NOT_RELEVANT, SIGN_EXTEND to
      	SIGNED_EXTENDED_DEF, ZERO_EXTEND to ZERO_EXTENDED_DEF.
      	(see_gen_normalized_extension): Change extension_code parameter to
      	enum entry_type.
      	(see_seek_pre_extension_expr): Change extension_code to enum
      	entry_type.
      	(see_merge_one_def_extension): Likewise.
      	(see_handle_relevant_defs): Likewise.
      	(see_handle_relevant_uses): Likewise.
      	(see_analyze_one_def): Likewise.
      	* tree-cfg.c (need_fake_edge_p): Compare gimple code with
      	GIMPLE_ASM rather than ASM_EXPR.
      	* tree-ssa-alias.c (is_escape_site): Compare gimple code with
      	GIMPLE_RETURN rather than RETURN_EXPR.
      	* tree-ssa-ccp.c (likely_value): Change code to enum gimple_code.
      	(evaluate_stmt): Likewise.
      	* tree-vect-analyze.c (vect_analyze_operations): Change relevance
      	to enum vect_relevant.
      	(vect_mark_stmts_to_be_vectorized): Change assertion to not
      	compare gimple codes with tree codes.
      cp/:
      	* parser.c (check_no_duplicate_clause): Change code parameter to
      	enum omp_clause_code.
      fortran/:
      	* symbol.c (generate_isocbinding_symbol): Compare
      	gfc_notification_std with ERROR rather than FAILURE.
      	* resolve.c (check_assumed_size_reference): Compare array type
      	with AR_FULL rather than DIMEN_ELEMENT.
      	(resolve_actual_arglist): Compare with EXPR_VARIABLE rather than
      	FL_VARIABLE.
      
      From-SVN: r139991
      Ian Lance Taylor committed
    • arm.c (arm_size_rtx_costs): Call cost function. · 71062f1e
      2008-09-04  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/arm.c (arm_size_rtx_costs): Call cost function.
      
      From-SVN: r139990
      Paul Brook committed
    • bfin.c (bfin_function_ok_for_sibcall): Restore a null pointer check lost in the… · d8612738
      bfin.c (bfin_function_ok_for_sibcall): Restore a null pointer check lost in the recent no-unit-at-a-time patch.
      
      	* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Restore a null
      	pointer check lost in the recent no-unit-at-a-time patch.
      
      From-SVN: r139989
      Bernd Schmidt committed
    • re PR middle-end/37243 (IRA causes wrong code generation) · 04888e68
      2008-09-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/37243
      	* gfortran.dg/pr37243.f: New.
      
      From-SVN: r139987
      H.J. Lu committed
    • mutex (once_flag): Construct __gthread_once_t in a temporary variable before… · d74eef3b
      mutex (once_flag): Construct __gthread_once_t in a temporary variable before assigning to _M_once...
      
      2008-09-04  Chris Fairles  <chris.fairles@gmail.com>
      
              * include/std/mutex (once_flag): Construct __gthread_once_t in a
      	temporary variable before assigning to _M_once to avoid initialization
      	errors.
      
      From-SVN: r139986
      Chris Fairles committed
    • re PR middle-end/37343 (ICE in expand_expr_real_1, at expr.c:7290) · d7f2fbf6
      	PR middle-end/37343
      	* tree-switch-conversion.c (check_final_bb): Accept only IP
      	invariants.
      	* g++.dg/torture/pr37343.C New file.
      
      From-SVN: r139983
      Jan Hubicka committed
    • slp-perm-1.c: Add call to check_vect. · 0af0e8dc
              * gcc.dg/vect/slp-perm-1.c: Add call to check_vect.
              * gcc.dg/vect/slp-perm-2.c, gcc.dg/vect/slp-perm-3.c,
              gcc.dg/vect/slp-perm-4.c, gcc.dg/vect/slp-perm-5.c,
              gcc.dg/vect/slp-perm-6.c, gcc.dg/vect/slp-perm-7.c,
              gcc.dg/vect/slp-perm-8.c, gcc.dg/vect/slp-perm-9.c: Likewise.
      
      From-SVN: r139982
      Ira Rosen committed
    • tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Break out from ... · 6b99f156
      	* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges):
      	Break out from ...
      	(vrp_evaluate_conditional_warnv_with_ops): ... this one.  Add
      	using_ranges argument.
      	(vrp_evaluate_conditional): Avoid bogus warning for type range.
      	(vrp_visit_cond_stmt): Update call of
      	vrp_evaluate_conditional_warnv_with_ops
      
      From-SVN: r139981
      Jan Hubicka committed
    • re PR tree-optimization/37345 (Segfault in decl_function_context (TYPE_MAIN_VARIANT)) · 4db15d75
      	PR tree-optimization/37345
      	PR tree-optimization/37358
      	PR tree-optimization/37357
      	* tree.c (build_function_type_skip_args): Build distinct type copy;
      	set TYPE_CONTEXT.
      	(build_function_decl_skip_args): Set type of new decl not orig decl;
      	clear DECL_VINDEX for methods turned into functions.
      
      From-SVN: r139980
      Jan Hubicka committed
    • configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check. · 28e6bb13
              * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler
              check.
              * configure: Regenerate.
              * config.in: Regenerate.
              * config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
              alignment field, if it is supported.
      
      From-SVN: r139979
      Nick Clifton committed
    • t-mingw32 (SHLIB_LC): Change order of import libraries. · 48253184
      2008-09-04  Kai Tietz  <kai.tietz@onevision.com>
      
      	* config/i386/t-mingw32 (SHLIB_LC): Change order of import
      	libraries.
      
      From-SVN: r139977
      Kai Tietz committed
    • configure.ac (--with-cloog-polylib): New. · d789184e
      2008-09-03  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* configure.ac (--with-cloog-polylib): New.
      	(--disable-cloog-version-check): New.
      	(--disable-ppl-version-check): New.
      	* configure: Re-generate.
      
      From-SVN: r139973
      Sebastian Pop committed
    • 2008-09-03 Tobias Grosser <grosser@fim.uni-passau.de> · 0da366c7
      	* gcc/testsuite/lib/target-supports.exp
      	(check_effective_target_fgraphite): Fix test. Graphite is only available
      	with -O1.
      
      From-SVN: r139970
      Tobias Grosser committed
    • [multiple changes] · 0783d48d
      2008-09-03  David Edelsohn  <edelsohn@gnu.org>
      
              * config/rs6000/rs6000.c (processor_target_table): Do not
              enable VMX for POWER6.
      
      2008-09-03  Anton Blanchard  <anton@samba.org>
      
              * config/rs6000/rs6000.c (rs6000_split_lock_test_and_set): Do not
              emit memory barrier before operation.
      
      From-SVN: r139969
      David Edelsohn committed
    • gnu.ver: Also export __once_functor_lock... · 37383ef5
      2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
      	GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
      
      	* Makefile.in: Regenerate.
      	* src/Makefile.in: Likewise.
      	* doc/Makefile.in: Likewise.
      	* po/Makefile.in: Likewise.
      	* libmath/Makefile.in: Likewise.
      	* include/Makefile.in: Likewise.
      	* libsupc++/Makefile.in: Likewise.
      	* testsuite/Makefile.in: Likewise.
      
      From-SVN: r139968
      Paolo Carlini committed
    • Daily bump. · 28545939
      From-SVN: r139966
      GCC Administrator committed
  2. 03 Sep, 2008 22 commits
    • acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit, check… · 83b55915
      acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit, check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
      
      2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
      	check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
      	* configure: Regenerate.
      
      From-SVN: r139963
      Paolo Carlini committed
    • re PR testsuite/37325 (Visibility test fails) · d1fe519c
      	PR testsuite/37325
      	* config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL_REAL): Call
      	default_elf_asm_output_external.
      
      From-SVN: r139962
      John David Anglin committed
    • acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too. · 1ced1970
      2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
      	* configure: Regenerate.
      
      From-SVN: r139961
      Paolo Carlini committed
    • vector-4.c: Add -mavx for x86. · 92f9cde5
      2008-09-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.c-torture/compile/vector-4.c: Add -mavx for x86.
      
      	* gcc.target/i386/avx-3.c: Require DFP support.
      
      From-SVN: r139960
      H.J. Lu committed
    • condition_variable: Use new deleted ctors. · 31607de1
      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: r139959
      Chris Fairles committed
    • re PR c++/37348 (internal compiler error: tree check: expected var_decl, have… · 3e03c959
      re PR c++/37348 (internal compiler error: tree check: expected var_decl, have field_decl in cp_finish_decl, at cp/decl.c:5461)
      
      	PR c++/37348
      	* decl.c (cp_finish_decl): Only set
      	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P if decl is VAR_DECL.
      
      	* g++.dg/parse/crash45.C: New test.
      
      From-SVN: r139956
      Jakub Jelinek committed
    • re PR c++/37189 (OpenMP task construct with implicit firstprivate variables ICEs) · 3368cdd3
      	PR c++/37189
      	* cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): New
      	extern decls.
      	* decl2.c (mark_used): If defer_mark_used_calls, push decl into
      	deferred_mark_used_calls vector and exit early.
      	* decl.c (defer_mark_used_calls, deferred_mark_used_calls): New
      	variables.
      	(finish_function): Set defer_mark_used_calls for the duration of the
      	function.  Call mark_used on any queued decls.
      
      	* g++.dg/gomp/pr37189.C: New test.
      
      From-SVN: r139955
      Jakub Jelinek committed
    • re PR debug/37322 (FAIL: gfortran.dg/debug/pr35154-dwarf2.f) · 8660d962
      	PR debug/37322
      	* gfortran.dg/debug/pr35154-dwarf2.f: Fix up scan-assembler regexps.
      
      From-SVN: r139954
      Jakub Jelinek committed
    • h8300.c (expand_a_shift): Avoid invalid RTL sharing. · bc9b880c
      	* h8300.c (expand_a_shift): Avoid invalid RTL sharing.
      
      From-SVN: r139953
      Jeff Law committed
    • re PR middle-end/37243 (IRA causes wrong code generation) · 49d988e7
      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
      Vladimir Makarov committed
    • alpha.c (alpha_split_lock_test_and_set): Move memory barrier to below the test-and-set. · 27738602
              * 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
      Richard Henderson committed
    • re PR middle-end/37243 (IRA causes wrong code generation) · a7f32992
      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
      Vladimir Makarov committed
    • re PR rtl-optimization/37296 (Bootstrap failure compiling libgcc) · 204853a7
      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
      Vladimir Makarov committed
    • re PR middle-end/36445 (ICE in expand_expr_real_1 with -O1 with vector registers) · e8f97b70
      2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/36445
              * g++.dg/torture/pr36445.C: New test.
      
      From-SVN: r139947
      Andrew Pinski committed
    • re PR middle-end/37293 (r139762 breaks libstdc++ build on darwin) · c0ab1df3
      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
      Andrew Pinski committed
    • re PR tree-optimization/37315 (gcc.c-torture/execute/931018-1.c int-compare.c… · 39ecc018
      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
      Jan Hubicka committed
    • condition_variable: Use new deleted ctors. · cafea0e4
      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
      Chris Fairles committed
    • condition_variable: Use new deleted ctors. · 7b800287
      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
      Chris Fairles committed
    • Fix up PR number - PR c++/37346 · 169e477d
      From-SVN: r139941
      Jakub Jelinek committed
    • configure.ac: Always pass -DCLOOG_PPL_BACKEND to the cloog test. · 36a881c7
      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
      Richard Guenther committed
    • * g++.dg/ext/java-2.C: Disable on AIX. · e4b16c6d
      From-SVN: r139938
      David Edelsohn committed
    • re PR target/37436 (arm-cross-g++. internal compiler error: in extract_insn, at recog.c:1990) · 05a26161
      	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
      Jakub Jelinek committed