Adam Nemet
5299815b88
mips.h (ISA_HAS_SEQ_SNE): New macro.
...
* config/mips/mips.h (ISA_HAS_SEQ_SNE): New macro.
* config/mips/mips.c (mips_expand_scc): Also expand seq and sne if
second operand is a reg_imm10_operand.
* config/mips/mips.md (*seq_<GPR:mode><GPR2:mode>_seq,
*sne_<GPR:mode><GPR2:mode>_sne): New patterns.
(*seq_<GPR:mode><GPR2:mode>): Rename to
*seq_zero_<GPR:mode><GPR2:mode>. Don't match if
ISA_HAS_SEQ_SNE.
(*seq_<GPR:mode><GPR2:mode>_mips16): Rename to
*seq_zero_<GPR:mode><GPR2:mode>_mip16. Don't match if
ISA_HAS_SEQ_SNE.
(*sne_<GPR:mode><GPR2:mode>): Rename to
*sne_zero_<GPR:mode><GPR2:mode>. Don't match if
ISA_HAS_SEQ_SNE.
testsuite/
* gcc.target/mips/seq-1.c: New test.
* gcc.target/mips/octeon-seq-1.c: New test.
* gcc.target/mips/octeon-seq-2.c: New test.
* gcc.target/mips/octeon-seq-3.c: New test.
* gcc.target/mips/octeon-seq-4.c: New test.
* gcc.target/mips/scc-2.c: Also pass on sltiu.
* gcc.target/mips/scc-3.c: Likewise.
From-SVN: r140010
2008-09-04 22:19:49 +00:00
Adam Nemet
c842413274
mips.h (ISA_HAS_EXTS): New macro.
...
* config/mips/mips.h (ISA_HAS_EXTS): New macro.
* config/mips/mips.md (*ashr_trunc<mode>): Name the pattern
combining an arithmetic right shift by more than 31 and a
trunction. Don't match for out-of-range shift amounts. Set
attribute mode to <MODE>.
(*lshr32_trunc<mode>): Name the pattern combining a logical right
shift by 32 and and a truncation. Set attribute mode to <MODE>.
(*<optab>_trunc<mode>_exts): New pattern for truncated right
shifts by less than 32.
(extv): Change predicate on first operand to accept registers.
Change predicate of the other operands from immediate_operand to
const_int_operand. Expand exts when source is a register.
(extzv): Change predicate of the constant operands from
immediate_operand to const_int_operand.
(extzv<mode>): Change predicate of the constant operands from
immediate_operand to const_int_operand and no constraint. Also
remove mode.
(*extzv_trunc<mode>_exts): New pattern.
testsuite/
* gcc.target/mips/truncate-2.c: New test.
* gcc.target/mips/octeon-exts-1.c: New test.
* gcc.target/mips/octeon-exts-2.c: New test.
* gcc.target/mips/octeon-exts-3.c: New test.
* gcc.target/mips/octeon-exts-4.c: New test.
From-SVN: r140009
2008-09-04 21:24:31 +00:00
Adam Nemet
49912bcd97
mips.h (ISA_HAS_CINS): New macro.
...
* config/mips/mips.h (ISA_HAS_CINS): New macro.
* config/mips/mips-protos.h (mask_low_and_shift_p,
mask_low_and_shift_len): Declare.
* config/mips/mips.c (mask_low_and_shift_p,
mask_low_and_shift_len): New functions.
(mips_print_operand): Handle new operand prefix "m".
* config/mips/mips.md (*cins<mode>): New pattern.
testsuite/
* gcc.target/mips/octeon-cins-1.c: New test.
* gcc.target/mips/octeon-cins-2.c: New test.
From-SVN: r140008
2008-09-04 21:02:30 +00:00
Le-Chun Wu
192a671ee3
Add myself to MAINTAINERS file under "Write After Approval".
...
From-SVN: r140005
2008-09-04 20:29:54 +00:00
Jonathan Wakely
2442947e97
* doc/xml/manual/locale.xml: Fix typo.
...
From-SVN: r140003
2008-09-04 21:10:14 +01:00
Richard Guenther
6e1b67b364
trans-array.c (gfc_conv_array_parameter): Use correct types in building COND_EXPRs.
...
2008-09-04 Richard Guenther <rguenther@suse.de>
* trans-array.c (gfc_conv_array_parameter): Use correct types
in building COND_EXPRs.
* trans-expr.c (gfc_conv_missing_dummy): Likewise.
* trans-intrinsics.c (gfc_conv_intrinsic_merge): Likewise.
* gfortran.dg/internal_pack_4.f90: Adjust pattern.
From-SVN: r140001
2008-09-04 19:32:02 +00:00
Bernd Schmidt
a524985e06
bfin.c (gen_one_bundle): Don't create new nops when optimizing for size.
...
* config/bfin/bfin.c (gen_one_bundle): Don't create new nops when
optimizing for size.
From-SVN: r139999
2008-09-04 19:18:26 +00:00
Richard Sandiford
1d4894358c
df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM regardless of epilogue_completed.
...
gcc/
* df-scan.c (df_get_entry_block_def_set): Add STACK_POINTER_REGNUM
regardless of epilogue_completed.
From-SVN: r139998
2008-09-04 19:16:14 +00:00
Daniel Kraft
d555161825
re PR fortran/37099 (Wrong results when comparing a character array to a character expression)
...
2008-09-04 Daniel Kraft <d@domob.eu>
* PR fortran/37099
* expr.c (simplify_const_ref): Update expression's character length
when pulling out a substring reference.
2008-09-04 Daniel Kraft <d@domob.eu>
PR fortran/37099
* gfortran.dg/string_compare_1.f90: New text.
* gfortran.dg/string_compare_2.f90: New text.
* gfortran.dg/string_compare_3.f90: New text.
From-SVN: r139997
2008-09-04 21:16:13 +02:00
Vladimir Makarov
5feec5c1de
re PR middle-end/37359 (IRA miscompiled transfer.o in libgfortran, sejmp)
...
2008-09-04 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37359
* ira-lives.c (process_bb_node_lives): Check setjmp.
From-SVN: r139996
2008-09-04 12:02:33 -07:00
Paolo Carlini
a1c5742d23
acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of POSIX threads.
...
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
2008-09-04 18:57:42 +00:00
Richard Sandiford
acb37d2924
re PR middle-end/37243 (IRA causes wrong code generation)
...
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
2008-09-04 18:47:35 +00:00
Ian Lance Taylor
e0c68ce9d2
rtl.h (LABEL_REF_NONLOCAL_P): Don't check for REG_LABEL_OPERAND or REG_LABEL_TARGET.
...
./: * 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
2008-09-04 17:32:38 +00:00
Paul Brook
71062f1eb1
arm.c (arm_size_rtx_costs): Call cost function.
...
2008-09-04 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_size_rtx_costs): Call cost function.
From-SVN: r139990
2008-09-04 16:43:24 +00:00
Bernd Schmidt
d8612738c0
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
2008-09-04 16:10:09 +00:00
H.J. Lu
04888e68e7
re PR middle-end/37243 (IRA causes wrong code generation)
...
2008-09-04 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/37243
* gfortran.dg/pr37243.f: New.
From-SVN: r139987
2008-09-04 08:46:05 -07:00
Chris Fairles
d74eef3beb
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
2008-09-04 14:35:54 +00:00
Jan Hubicka
d7f2fbf618
re PR middle-end/37343 (ICE in expand_expr_real_1, at expr.c:7290)
...
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
2008-09-04 10:45:57 +00:00
Ira Rosen
0af0e8dca5
slp-perm-1.c: Add call to check_vect.
...
* 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
2008-09-04 10:41:50 +00:00
Jan Hubicka
6b99f156a9
tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops_using_ranges): Break out from ...
...
* 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
2008-09-04 10:34:35 +00:00
Jan Hubicka
4db15d75ec
re PR tree-optimization/37345 (Segfault in decl_function_context (TYPE_MAIN_VARIANT))
...
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
2008-09-04 10:30:26 +00:00
Nick Clifton
28e6bb130e
configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check.
...
* 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
2008-09-04 09:43:08 +00:00
Kai Tietz
48253184e5
t-mingw32 (SHLIB_LC): Change order of import libraries.
...
2008-09-04 Kai Tietz <kai.tietz@onevision.com>
* config/i386/t-mingw32 (SHLIB_LC): Change order of import
libraries.
From-SVN: r139977
2008-09-04 10:25:25 +02:00
Sebastian Pop
d789184e74
configure.ac (--with-cloog-polylib): New.
...
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
2008-09-04 05:57:10 +00:00
Tobias Grosser
0da366c737
2008-09-03 Tobias Grosser <grosser@fim.uni-passau.de>
...
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_fgraphite): Fix test. Graphite is only available
with -O1.
From-SVN: r139970
2008-09-04 01:15:41 +00:00
David Edelsohn
0783d48d05
[multiple changes]
...
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
2008-09-03 21:03:38 -04:00
Paolo Carlini
37383ef55e
gnu.ver: Also export __once_functor_lock...
...
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
2008-09-04 00:57:57 +00:00
GCC Administrator
28545939ce
Daily bump.
...
From-SVN: r139966
2008-09-04 00:16:32 +00:00
Paolo Carlini
83b55915e7
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
2008-09-03 22:50:59 +00:00
John David Anglin
d1fe519cb8
re PR testsuite/37325 (Visibility test fails)
...
PR testsuite/37325
* config/pa/pa64-hpux.h (ASM_OUTPUT_EXTERNAL_REAL): Call
default_elf_asm_output_external.
From-SVN: r139962
2008-09-03 22:50:07 +00:00
Paolo Carlini
1ced197082
acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
...
2008-09-03 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
* configure: Regenerate.
From-SVN: r139961
2008-09-03 22:31:29 +00:00
H.J. Lu
92f9cde563
vector-4.c: Add -mavx for x86.
...
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
2008-09-03 15:08:03 -07:00
Chris Fairles
31607de1b1
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: r139959
2008-09-03 22:02:04 +00:00
Jakub Jelinek
3e03c9591c
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
2008-09-03 22:34:35 +02:00
Jakub Jelinek
3368cdd3f5
re PR c++/37189 (OpenMP task construct with implicit firstprivate variables ICEs)
...
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
2008-09-03 22:33:21 +02:00
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