gcc.git
11 years ago* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
Jonathan Wakely [Sun, 26 Aug 2012 14:59:20 +0000 (14:59 +0000)]
* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.

From-SVN: r190691

11 years agoDon't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodes
H.J. Lu [Sun, 26 Aug 2012 14:40:22 +0000 (14:40 +0000)]
Don't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodes

PR binutils/4970
* Makefile.def (host_modules): Rmove lib_path=.libs from bfd
and opcodes.
* Makefile.in: Regenerated.

From-SVN: r190689

11 years agoMove config entries to ChangeLog
H.J. Lu [Sun, 26 Aug 2012 14:26:57 +0000 (07:26 -0700)]
Move config entries to ChangeLog

From-SVN: r190688

11 years agoFix a typo in ChangeLog
H.J. Lu [Sun, 26 Aug 2012 14:06:56 +0000 (07:06 -0700)]
Fix a typo in ChangeLog

From-SVN: r190686

11 years agore PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared...
Jonathan Wakely [Sun, 26 Aug 2012 13:49:44 +0000 (13:49 +0000)]
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)

PR libstdc++/54297
* src/c++11/future.cc (~_Async_state_common): Move to...
* src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
Here.
(_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
* include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.

From-SVN: r190685

11 years agocloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.
Art Haas [Sun, 26 Aug 2012 12:20:01 +0000 (12:20 +0000)]
cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.

* cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.
* configure: Regenerate.

From-SVN: r190684

11 years ago* g++.dg/cpp0x/fntmpdefarg3.C: New.
Jason Merrill [Sun, 26 Aug 2012 03:50:56 +0000 (23:50 -0400)]
* g++.dg/cpp0x/fntmpdefarg3.C: New.

From-SVN: r190683

11 years ago* btest-gcc.sh (TESTLOGS): Add libmudflap.sum, if it exists.
Hans-Peter Nilsson [Sun, 26 Aug 2012 01:21:14 +0000 (01:21 +0000)]
* btest-gcc.sh (TESTLOGS): Add libmudflap.sum, if it exists.

From-SVN: r190682

11 years agoDaily bump.
GCC Administrator [Sun, 26 Aug 2012 00:17:49 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190680

11 years agoAdd testcase author to ChangeLog.
Jonathan Wakely [Sun, 26 Aug 2012 00:14:59 +0000 (01:14 +0100)]
Add testcase author to ChangeLog.

From-SVN: r190677

11 years agore PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null)
Jonathan Wakely [Sun, 26 Aug 2012 00:12:40 +0000 (00:12 +0000)]
re PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null)

PR libstdc++/54351
* include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
reset().
(unique_ptr<T[]>::~unique_ptr()): Likewise.
* testsuite/20_util/unique_ptr/54351.cc: New.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
line numbers.

From-SVN: r190676

11 years agore PR rtl-optimization/54088 (ICE at dwarf2out.c:20632 with -O1 -g)
Eric Botcazou [Sat, 25 Aug 2012 23:21:53 +0000 (23:21 +0000)]
re PR rtl-optimization/54088 (ICE at dwarf2out.c:20632 with -O1 -g)

PR rtl-optimization/54088
* jump.c (delete_related_insns): Robustify latest change.

From-SVN: r190674

11 years agore PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared...
Jonathan Wakely [Sat, 25 Aug 2012 23:01:40 +0000 (23:01 +0000)]
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)

PR libstdc++/54297
* include/std/future (~_Async_state_impl): Join thread before
derived class members are destroyed.
(~_Async_state_common): Only define non-trivial destructor when
included from future.cc for ABI compatibility reasons.
* src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
* testsuite/30_threads/async/54297.cc: New.

From-SVN: r190672

11 years ago* doc/extend.texi (__atomic Builtins): Remove space before comma.
Ricardo Catalinas Jiménez [Sat, 25 Aug 2012 22:55:27 +0000 (22:55 +0000)]
* doc/extend.texi (__atomic Builtins): Remove space before comma.

From-SVN: r190671

11 years agomips.h (CASE_VECTOR_MODE): For not TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
Richard Sandiford [Sat, 25 Aug 2012 21:33:15 +0000 (21:33 +0000)]
mips.h (CASE_VECTOR_MODE): For not TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.

2012-08-25  Richard Sandiford  <rdsandiford@googlemail.com>
            Andrew Pinski  <apinski@cavium.com>

* config/mips/mips.h (CASE_VECTOR_MODE): For not
TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
(CASE_VECTOR_SHORTEN_MODE): Likewise.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r190670

11 years agoREADME: Also refer to the online installation instructions.
Křištof Želechovski [Sat, 25 Aug 2012 20:48:20 +0000 (22:48 +0200)]
README: Also refer to the online installation instructions.

* INSTALL/README: Also refer to the online installation
instructions.

From-SVN: r190669

11 years agore PR libstdc++/54248 (Comment in standard library header talks about boost)
Jonathan Wakely [Sat, 25 Aug 2012 18:51:53 +0000 (18:51 +0000)]
re PR libstdc++/54248 (Comment in standard library header talks about boost)

PR libstdc++/54248
* include/bits/concept_check.h: Replace references to boost
namespace.

From-SVN: r190668

11 years agoi386.h (FP_REG_P): Remove macro.
Uros Bizjak [Sat, 25 Aug 2012 17:16:05 +0000 (19:16 +0200)]
i386.h (FP_REG_P): Remove macro.

* config/i386/i386.h (FP_REG_P): Remove macro.
(FP_REGNO_P): Ditto.
(HARD_REGNO_NREGS): Use STACK_REGNO_P instead of FP_REGNO_P.
(HARD_REGNO_NREGS_HAS_PADDING): Ditto.
(ANY_FP_REGNO_P): Ditto.
(HARD_REGNO_RENAME_OK): Use STACK_REGNO_P.
* config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P
instead of FP_REGNO_P.
(ix86_hard_regno_mode_ok): Ditto.
* config/i386/predicates.md (fp_register_operand): Ditto.
(register_and_not_fp_reg_operand): Ditto.
* config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead
of FP_REG_P.

* reg-stack.c (get_true_reg): Use STACK_REG_P instead of FP_REG_P.

From-SVN: r190667

11 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Sat, 25 Aug 2012 15:52:23 +0000 (17:52 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r190666

11 years agore PR c++/51421 ([c++0x] ICE with invalid use of auto)
Paolo Carlini [Sat, 25 Aug 2012 09:53:30 +0000 (09:53 +0000)]
re PR c++/51421 ([c++0x] ICE with invalid use of auto)

/cp
2012-08-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51421
* decl2.c (mark_used): Consistently return false after errors
about uses before deduction of auto.
* semantics.c (finish_id_expression): Check mark_used return
value and return error_mark_node in case of failure.

/testsuite
2012-08-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51421
* g++.dg/cpp0x/auto34.C: New.

From-SVN: r190665

11 years agoPR c++/51213 (again)
Jason Merrill [Sat, 25 Aug 2012 03:30:11 +0000 (23:30 -0400)]
PR c++/51213 (again)

PR c++/51213 (again)
* pt.c (deduction_tsubst_fntype): Remove.
(fn_type_unification): Check deduction depth and call
instantiate_template here.  Handle default argument access checks.
(determine_specialization): Suppress access control.
(tsubst_decl): Check for excessive deduction depth.
(recheck_decl_substitution): Make sure access control is on.
(type_unification_real): Don't mess with access deferring here.
(get_bindings): Adjust for fn_type_unification return type.
* call.c (enum rejection_reason_code): Drop rr_template_instantiation.
(template_instantiation_rejection): Remove.
(struct rejection_reason): Change targs to num_targs.
(template_unification_rejection, print_z_candidate): Adjust.
(add_template_candidate_real): Adjust for fn_type_unification change.
* class.c (resolve_address_of_overloaded_function): Likewise.
* cp-tree.h: Adjust declaration.

From-SVN: r190664

11 years agoprint-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME.
Jason Merrill [Sat, 25 Aug 2012 02:29:00 +0000 (22:29 -0400)]
print-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME.

* print-tree.c (print_node): Don't check TREE_LANG_FLAG_*
on TREE_VEC or SSA_NAME.

From-SVN: r190663

11 years agopt.c (tsubst_default_argument): Indicate where the default argument is being instanti...
Jason Merrill [Sat, 25 Aug 2012 02:27:27 +0000 (22:27 -0400)]
pt.c (tsubst_default_argument): Indicate where the default argument is being instantiated for.

* pt.c (tsubst_default_argument): Indicate where the default
argument is being instantiated for.
(tsubst_expr): Restore previous location.
(tsubst_copy_and_build): Set and restore location.
* call.c (build_new_method_call_1): Remember location of call.
* semantics.c (finish_call_expr): Here too.
* parser.c (cp_parser_omp_for_loop): Remember the location of the
increment expression.

From-SVN: r190662

11 years agoDaily bump.
GCC Administrator [Sat, 25 Aug 2012 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190661

11 years agore PR c/54363 (ICE when compiling malformed struct initializers)
Jakub Jelinek [Fri, 24 Aug 2012 21:46:17 +0000 (23:46 +0200)]
re PR c/54363 (ICE when compiling malformed struct initializers)

PR c/54363
* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
if init is a CONSTRUCTOR.

* gcc.dg/pr54363.c: New test.

From-SVN: r190657

11 years agore PR c/54355 (ICE on invalid code in switch statement)
Jakub Jelinek [Fri, 24 Aug 2012 21:45:22 +0000 (23:45 +0200)]
re PR c/54355 (ICE on invalid code in switch statement)

PR c/54355
* c-decl.c (c_parser_label): Pass true as nested and fix up comments
for nested and empty_ok arguments in the call to
c_parser_declaration_or_fndef.

* gcc.dg/pr54355.c: New test.

From-SVN: r190656

11 years agotree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands.
Steven Bosscher [Fri, 24 Aug 2012 20:25:42 +0000 (20:25 +0000)]
tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands.

* tree-ssa-live.c (dump_var_map): Do not dump the partition
map of virtual operands.

From-SVN: r190655

11 years agoSync plugin-api.h with gold patch : http://sourceware.org/ml/binutils/2012-08/msg0044...
Sriraman Tallam [Fri, 24 Aug 2012 19:07:28 +0000 (19:07 +0000)]
Sync plugin-api.h with gold patch : sourceware.org/ml/binutils/2012-08/msg00447.html

* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
New interface.
(ld_plugin_unique_segment_for_sections): New interface.
(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(tv_allow_unique_segment_for_sections): New member.
(tv_unique_segment_for_sections): New member.

From-SVN: r190654

11 years agopt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings.
Jason Merrill [Fri, 24 Aug 2012 18:58:00 +0000 (14:58 -0400)]
pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings.

* pt.c (resolve_overloaded_unification): Use coerce_template_parms
instead of get_bindings.
(resolve_nondeduced_context): Likewise.

From-SVN: r190653

11 years agopt.c (register_specialization): Correct argument to check_specialization_namespace.
Jason Merrill [Fri, 24 Aug 2012 18:57:50 +0000 (14:57 -0400)]
pt.c (register_specialization): Correct argument to check_specialization_namespace.

* pt.c (register_specialization): Correct argument to
check_specialization_namespace.
(determine_specialization): Don't consider members of
unspecialized types.

From-SVN: r190652

11 years agoi386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor.
Yuri Rumyantsev [Fri, 24 Aug 2012 15:36:02 +0000 (15:36 +0000)]
i386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor.

        * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
        case for Atom processor.

From-SVN: r190649

11 years agodwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD...
Simon Baldwin [Fri, 24 Aug 2012 14:58:06 +0000 (14:58 +0000)]
dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set.

gcc/ChangeLog
* dwarf2out.c (gen_producer_string): Omit command line switch if
CL_NO_DWARF_RECORD flag set.
* opts.h (CL_NO_DWARF_RECORD): New.
* opt-functions.awk (switch_flags): Add NoDWARFRecord.
* doc/options.texi: Document NoDWARFRecord option flag.

gcc/fortran/ChangeLog
* lang.opt (-cpp=): Mark flag NoDWARFRecord.

From-SVN: r190648

11 years agoAllow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr
H.J. Lu [Fri, 24 Aug 2012 13:21:55 +0000 (13:21 +0000)]
Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr

gcc/

PR debug/52857
* dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
frame_pointer_rtx for based_loc_descr.

gcc/testsuite/

PR debug/52857
* gcc.target/i386/pr52857-1.c: New.
* gcc.target/i386/pr52857-2.c: Likewise.

From-SVN: r190647

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Fri, 24 Aug 2012 13:01:54 +0000 (13:01 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

PR target/54222
* config/avr/t-avr (conv_X): Rename to func_X.

From-SVN: r190646

11 years agopredict.c (maybe_hot_frequency_p): New parameter fun.
Martin Jambor [Fri, 24 Aug 2012 12:57:24 +0000 (14:57 +0200)]
predict.c (maybe_hot_frequency_p): New parameter fun.

2012-08-24  Martin Jambor  <mjambor@suse.cz>

* predict.c (maybe_hot_frequency_p): New parameter fun.  Use its decl
instead of current_function_decl, use profile_status_for_function and
ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants.
(maybe_hot_count_p): New parameter fun, use
profile_status_for_function instead of its cfun_variant.
(maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to
all callees.
(maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and
maybe_hot_frequency_p.
(probably_never_executed_bb_p): New parameter fun, use its decl
instead of current_function_decl.
(optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p.
(rtl_profile_for_bb): Likewise.
(compute_function_frequency): Pass cfun to maybe_hot_bb_p and
probably_never_executed_bb_p.
* tree-ssa-operands.c (ssa_operands_active): New operator fun.  Use it
instead of cfun.
(update_stmt_operands): Pass cfun as an argument of
ssa_operands_active.
(swap_tree_operands): Likewise.
* gimple-iterator.c (update_modified_stmt): Likewise.
(update_modified_stmts): Likewise.
* tree-flow-inline.h (delink_stmt_imm_use): Likewise.
* tree-ssa.c (delete_tree_ssa): Likewise.
* bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p.
(push_to_next_round_p): Likewise.
(find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise.
* cfg.c: Inlude tree.h.
(check_bb_profile): Use profile_status_for_function,
EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with
DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun
variants.
(dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to
maybe_hot_bb_p and probably_never_executed_bb_p.
* gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that
DECL_STRUCT_FUNCTION (current_function_decl) is not NULL.  Pass it to
dump_histograms_for_stmt.
(dump_gimple_mem_ops): Pass DECL_STRUCT_FUNCTION (current_function_decl)
as an argument to dump_gimple_mem_ops.
* tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl.
Do not change cfun.  Change and restore current_function_decl.
* Makefile.in (cfg.o): Include TREE_H in dependencies.

From-SVN: r190645

11 years agore PR target/54222 ([avr] Implement fixed-point support)
Georg-Johann Lay [Fri, 24 Aug 2012 12:42:48 +0000 (12:42 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)

libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S: New file.
* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
after they are used.
(neg2, neg4): New macros.
(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
(__umulhisi3): Speed up MUL variant if there is enough flash.
* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
avr-modes.def.
* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
(LIB2FUNCS_EXCLUDE): Add supported functions.

gcc/
PR target/54222
* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
* avr/avr-fixed.md: New file.
* avr/avr.md: Include it.
(cc): Add: minus.
(adjust_len): Add: minus, minus64, ufract, sfract.
(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi,
cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
16-bit modes in ALL2.
(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
32-bit modes in ALL4.
* avr-dimode.md (ALL8): New mode iterator.
(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
subdi3_const_insn, cbranchdi4, compare_di2,
compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
all 64-bit modes in ALL8.
* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
(avr_fixed_point_supported_p): ...this new static function.
(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
(avr_build_builtin_va_list): ...this new static function.
(avr_adjust_type_node): New static function.
(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
pseudo instead of gen_rtx_MINUS.
(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
(notice_update_cc): Handle: CC_MINUS.
(output_movqi): Generalize to handle respective fixed-point modes.
(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
(avr_assemble_integer): Ditto.
(output_reload_in_const, output_reload_insisf): Ditto.
(avr_compare_pattern): Skip all modes > 4 bytes.
(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
(avr_to_int_mode): New function.
(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
* config/avr/predicates.md (const0_operand): Allow const_fixed.
(const_operand, const_or_immediate_operand): New.
(nonmemory_or_const_operand): New.
* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
New constraints.
* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.

From-SVN: r190644

11 years agore PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compile...
Tobias Burnus [Fri, 24 Aug 2012 07:43:23 +0000 (09:43 +0200)]
re PR fortran/54350 (FAIL: gfortran.dg/realloc_on_assign_*.f90  -O  (internal compiler error) at r190586)

2012-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54350
        * trans-array.c (free_ss_info): Free data.array.subscript.
        (gfc_free_ss): No longer free data.array.subscript.
        (walk_coarray): New function, moved from trans-intrinsic.c
        (gfc_conv_expr_descriptor): Walk array descriptor instead
        of taking passed "ss".
        (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
        gfc_conv_array_parameter): Update call and cleanup ss handling.
        * trans-array.h (gfc_conv_expr_descriptor,
        gfc_conv_array_parameter): Update prototype.
        * trans-expr.c (gfc_conv_derived_to_class,
        conv_isocbinding_procedure, gfc_conv_procedure_call,
        gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
        gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
        call to gfc_conv_expr_descriptor and gfc_conv_array_parameter,
        and clean up.
        * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
        (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
        gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
        gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
        gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
        gfc_conv_intrinsic_transfer, gfc_conv_allocated,
        gfc_conv_associated, gfc_conv_intrinsic_loc,
        conv_intrinsic_move_alloc): Update calls.
        * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
        gfc_trans_transfer): Ditto.
        * trans-stmt.c (gfc_conv_elemental_dependencies,
        gfc_trans_sync, trans_associate_var,
        gfc_trans_pointer_assign_need_temp): Ditto.

From-SVN: r190641

11 years agoDaily bump.
GCC Administrator [Fri, 24 Aug 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190636

11 years agocode-readable-4.c: New test.
Richard Sandiford [Thu, 23 Aug 2012 20:40:07 +0000 (20:40 +0000)]
code-readable-4.c: New test.

gcc/testsuite/
* gcc.target/mips/code-readable-4.c: New test.

From-SVN: r190630

11 years agoalias.c (rtx_equal_for_memref_p): Convert constant cases.
Kenneth Zadeck [Thu, 23 Aug 2012 18:46:18 +0000 (18:46 +0000)]
alias.c (rtx_equal_for_memref_p): Convert constant cases.

2012-08-23  Kenneth Zadeck <zadeck@naturalbridge.com>

* alias.c (rtx_equal_for_memref_p): Convert constant cases.
* combine.c (find_single_use_1, mark_used_regs_combine): Convert
to CASE_CONST_ANY.
  * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1,
count_reg_usage): Convert constant cases.
* cselib.c (cselib_expand_value_rtx_1): Convert to
CASE_CONST_ANY.
(cselib_subst_to_values): Convert constant cases.
* df-scan.c (df_uses_record): Ditto.
* dse.c (const_or_frame_p): Convert case statements to explicit
if-then-else using mode classes.
* emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases.
* explow.c (convert_memory_address_addr_space): Ditto.
* gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto.
* genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto.
* ira.c (equiv_init_varies_p, contains_replace_regs,
memref_referenced_p, rtx_moveable_p): Ditto.
* jump.c (mark_jump_label_1): Remove constant cases.
(rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE.
* loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1,
invariant_expr_equal_p): Convert to CASE_CONST_ANY.
* postreload-gcse.c (oprs_unchanged_p): Convert constant cases.
* reginfo.c (reg_scan_mark_refs): Ditto.
* regrename.c (scan_rtx): Ditto.
* reload1.c (eliminate_regs_1, elimination_effects,
scan_paradoxical_subregs): Ditto.
* reload.c (operands_match_p, subst_reg_equivs):  Ditto.
* resource.c (mark_referenced_resources, mark_set_resources): Ditto.
* rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences)
(reg_mentioned_p, modified_between_p, modified_in_p)
(volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1,
inequality_comparisons_p, computed_jump_p_1): Ditto.
* rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto.
* sched-deps.c (sched_analyze_2): Ditto.
* valtrack.c (cleanup_auto_inc_dec): Ditto.
* rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE,
CASE_CONST_ANY): New macros.

From-SVN: r190627

11 years ago* decl.c (compute_array_index_type): Use type_dependent_expression_p.
Jason Merrill [Thu, 23 Aug 2012 18:33:47 +0000 (14:33 -0400)]
* decl.c (compute_array_index_type): Use type_dependent_expression_p.

From-SVN: r190626

11 years ago2012-08-23 Julian Brown <julian@codesourcery.com>
Julian Brown [Thu, 23 Aug 2012 15:42:03 +0000 (15:42 +0000)]
2012-08-23  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.md
(UNSPEC_CASESI_DISPATCH): New.
(MIPS16_T_REGNUM): New constant.
(tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
(casesi): New.
(casesi_internal_mips16_<mode>): New.
* config/mips/mips.c (mips16_split_long_branches): Adjust test
to ignore casesi jump tables.
* config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
comment.
(CASE_VECTOR_MODE): Use SImode unconditionally.
(CASE_VECTOR_SHORTEN_MODE): Define.
(ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
when necessary for MIPS16_SHORT_JUMP_TABLES.

gcc/testsuite/
* gcc.target/mips/code-readable-1.c: Add -O to options.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r190625

11 years agoMakefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before addin...
Georg-Johann Lay [Thu, 23 Aug 2012 15:41:03 +0000 (15:41 +0000)]
Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects.

* Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out
LIB2FUNCS_EXCLUDE before adding them to libgcc-objects,
libgcc-s-objects.
* fixed-obj.mk: Only expand dependency if $o is not in
LIB2FUNCS_EXCLUDE.

From-SVN: r190624

11 years agoc-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers, and...
Arnaud Charlet [Thu, 23 Aug 2012 14:49:41 +0000 (14:49 +0000)]
c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only for pointers, and add missing Convention C pragma.

* c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
for pointers, and add missing Convention C pragma.
(print_ada_struct_decl): Add missing aliased keyword.
(dump_ads): Add pragma Ada_2005 and Style_Checks (Off).

From-SVN: r190623

11 years agors6000.c (rs6000_density_test): Free loop body.
Bill Schmidt [Thu, 23 Aug 2012 14:41:24 +0000 (14:41 +0000)]
rs6000.c (rs6000_density_test): Free loop body.

2012-08-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_density_test): Free loop body.

From-SVN: r190622

11 years agoAdd -da and remove -dm in GCC manual
H.J. Lu [Thu, 23 Aug 2012 13:37:11 +0000 (13:37 +0000)]
Add -da and remove -dm in GCC manual

PR driver/54335
* doc/invoke.texi: Add -da and remove -dm.

From-SVN: r190621

11 years agotree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form.
Richard Guenther [Thu, 23 Aug 2012 11:17:29 +0000 (11:17 +0000)]
tree-vect-stmts.c (vect_finish_stmt_generation): Update virtual SSA form.

2012-08-23  Richard Guenther  <rguenther@suse.de>

* tree-vect-stmts.c (vect_finish_stmt_generation): Update
virtual SSA form.

From-SVN: r190620

11 years agotree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.
Jakub Jelinek [Thu, 23 Aug 2012 10:02:40 +0000 (12:02 +0200)]
tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.

* tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.
fortran/
* trans-decl.c (trans_function_start, generate_coarray_init,
create_main_function, gfc_generate_constructors): Call
allocate_struct_function instead of init_function_start.

From-SVN: r190619

11 years agore PR c++/20420 (Incorrectly Accepts double declarations)
Paolo Carlini [Thu, 23 Aug 2012 09:44:08 +0000 (09:44 +0000)]
re PR c++/20420 (Incorrectly Accepts double declarations)

/cp
2012-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/20420
* name-lookup.c (supplement_binding_1): Handle specially enums
only in class templates.
(validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate
using declarations at function scope.

/testsuite
2012-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/20420
* g++.dg/lookup/using53.C: New.

From-SVN: r190618

11 years agoFix typo in gty.texi.
Mingjie Xing [Thu, 23 Aug 2012 09:30:24 +0000 (09:30 +0000)]
Fix typo in gty.texi.

From-SVN: r190617

11 years agore PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std:...
Jonathan Wakely [Thu, 23 Aug 2012 08:37:19 +0000 (08:37 +0000)]
re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std::put_time (C++11, section 27.7.5))

PR libstdc++/54354
* doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
* doc/html/*: Regenerate.

From-SVN: r190616

11 years agoconvert.c: Split into manageable parts:
Georg-Johann Lay [Thu, 23 Aug 2012 08:11:56 +0000 (08:11 +0000)]
convert.c: Split into manageable parts:

* gcc.dg/fixed-point/convert.c: Split into manageable parts:
* gcc.dg/fixed-point/convert-1.c: New.
* gcc.dg/fixed-point/convert-2.c: New.
* gcc.dg/fixed-point/convert-3.c: New.
* gcc.dg/fixed-point/convert-4.c: New.
* gcc.dg/fixed-point/convert-float-1.c: New.
* gcc.dg/fixed-point/convert-float-2.c: New.
* gcc.dg/fixed-point/convert-float-3.c: New.
* gcc.dg/fixed-point/convert-float-4.c: New.
* gcc.dg/fixed-point/convert-accum-neg.c: New.
* gcc.dg/fixed-point/convert-sat.c: New.
* gcc.dg/fixed-point/convert.h: New.

From-SVN: r190615

11 years agotree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
Richard Guenther [Thu, 23 Aug 2012 07:38:54 +0000 (07:38 +0000)]
tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.

2012-08-23  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
(find_uses_to_rename_use): Likewise.
(find_uses_to_rename_bb): Likewise.
(find_uses_to_rename_stmt): Walk over all operands.

From-SVN: r190614

11 years agocompiler: Comparisons return untyped boolean value.
Ian Lance Taylor [Thu, 23 Aug 2012 04:58:30 +0000 (04:58 +0000)]
compiler: Comparisons return untyped boolean value.

From-SVN: r190612

11 years agocompiler: Remove old handling of unsafe.Pointer in type assertions.
Ian Lance Taylor [Thu, 23 Aug 2012 00:20:48 +0000 (00:20 +0000)]
compiler: Remove old handling of unsafe.Pointer in type assertions.

Fixes issue 17.

From-SVN: r190608

11 years agoDaily bump.
GCC Administrator [Thu, 23 Aug 2012 00:18:41 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190607

11 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Wed, 22 Aug 2012 22:52:17 +0000 (22:52 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

PR target/54089
* config/sh/predicates (p27_rshift_count_operand,
not_p27_rshift_count_operand): New predicates.
* config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p,
sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special
case when shift amount is 31.
(gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m.
* config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead
of 'arith'.
(ashlsi_c): Rename to shll.  Adapt calls to gen_ashlsi_c throughout
the file.
(lshrsi3): Remove clobber from expander.  Use shift_count_operand
instead of nonmemory_operand predicate for second operand.  Add
handling of case lshrsi3_n_clobbers_t.
(lshrsi3_k): Use p27_rshift_count_operand for second operand.
(lshrsi3_d): Make insn_and_split.  Split dynamic shift to constant
shift sequences if beneficial.
(lshrsi3_n): Make insn_and_split.  Split constant shift sequence to
dynamic shift if beneficial.
(lshrsi3_n_clobbers_t): New insn_and_split.
(lshrsi3_m): Delete.

PR target/54089
* gcc.target/sh/pr54089-2.c: New.

From-SVN: r190603

11 years agotracer.c (mark_bb_seen): Use SBITMAP_SIZE.
Steven Bosscher [Wed, 22 Aug 2012 21:38:03 +0000 (21:38 +0000)]
tracer.c (mark_bb_seen): Use SBITMAP_SIZE.

* tracer.c (mark_bb_seen): Use SBITMAP_SIZE.

* alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale,
or rather a lack thereof.
(init_alias_analysis): Propagate the latest information across
the CFG in topological order to propagate as far as possible in
each iteration.  Ignore debug insns.

From-SVN: r190602

11 years agoAdd -mlong-double-64/-mlong-double-80 to i386
H.J. Lu [Wed, 22 Aug 2012 19:46:28 +0000 (19:46 +0000)]
Add -mlong-double-64/-mlong-double-80 to i386

gcc/

* doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.

* config/i386/i386.c (flag_opts): Add -mlong-double-64.
(TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.

* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
TARGET_LONG_DOUBLE_64 is true.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
(WIDEST_HARDWARE_FP_SIZE): Defined to 80.

* config/i386/i386.opt (mlong-double-80): New option.
(mlong-double-64): Likewise.

* config/i386/i386-c.c (ix86_target_macros): Define
__LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.

gcc/testsuite/

* gcc.target/i386/long-double-64-1.c: New file.
* gcc.target/i386/long-double-64-2.c: Likewise.
* gcc.target/i386/long-double-64-3.c: Likewise.
* gcc.target/i386/long-double-64-4.c: Likewise.
* gcc.target/i386/long-double-80-1.c: Likewise.
* gcc.target/i386/long-double-80-2.c: Likewise.
* gcc.target/i386/long-double-80-3.c: Likewise.
* gcc.target/i386/long-double-80-4.c: Likewise.
* gcc.target/i386/long-double-80-5.c: Likewise.
* gcc.target/i386/long-double-80-6.c: Likewise.
* gcc.target/i386/long-double-80-7.c: Likewise.

libgcc/

* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.

From-SVN: r190599

11 years agoReplace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target
H.J. Lu [Wed, 22 Aug 2012 19:43:58 +0000 (19:43 +0000)]
Replace REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target

PR target/54347
* config/i386/i386.c (ix86_split_to_parts): Replace
REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target.

From-SVN: r190598

11 years agotree-vectorizer.c (vectorize_loops): Do not call mark_virtual_operands_for_renaming.
Richard Guenther [Wed, 22 Aug 2012 15:11:26 +0000 (15:11 +0000)]
tree-vectorizer.c (vectorize_loops): Do not call mark_virtual_operands_for_renaming.

2012-08-22  Richard Guenther  <rguenther@suse.de>

* tree-vectorizer.c (vectorize_loops): Do not call
mark_virtual_operands_for_renaming.
* tree-vect-slp.c (vect_slp_transform_bb): Likewise.
Do not update SSA form here.

From-SVN: r190596

11 years agoMake TREE_NOTHROW use the base.nothrow_flag again
Dodji Seketeli [Wed, 22 Aug 2012 13:50:58 +0000 (13:50 +0000)]
Make TREE_NOTHROW use the base.nothrow_flag again

While working on something else, I noticed that debug_tree (vec), when
vec is a TREE_VEC was crashing because TREE_NOTHROW was asserting that
its argument is not a TREE_VEC, so print_node would crash.

It turned out that TREE_NOTHROW was accidentally modified by this
change set:

commit 87d8f7b67c6a36c37e48e298f26e693520099b1e
Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Tue Aug 21 10:03:38 2012 +0000

    2012-08-21  Richard Guenther  <rguenther@suse.de>

     cp/
     * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
     (ATTR_IS_DEPENDENT): Likewise.
     (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
     TREE_LANG_FLAG_0 on TREE_VECs.

     * tree.h (struct tree_base): Add union to make it possible to
     re-use the upper 4 bytes for tree codes that do not need as
     many flags as others.  Move visited and default_def_flag to
     common bits section in exchange for saturating_flag and
     unsigned_flag.  Add SSA name version and tree vec length
     fields here.
     (struct tree_vec): Remove length field here.
     (struct tree_ssa_name): Remove version field here.

    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190558 138bc75d-0d04-0410-961f-82ee72b054a4

Richard Guenther pre-approved the reverting of the TREE_NOTHROW change
line.

Tested on x86_64-unknown-linux-gnu against master and applied to
trunk.

gcc/
* tree.h (TREE_NOTHROW): Use the base.nothrow_flag.

From-SVN: r190595

11 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Guenther [Wed, 22 Aug 2012 13:17:26 +0000 (13:17 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2012-08-22  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/46590
* tree-ssa-alias.h (get_continuation_for_phi): Add alias query
counter output argument.
(walk_non_aliased_vuses): Add alias query counter argument
to the walker callback.
* tree-ssa-alias.c (maybe_skip_until): Add alias query counter
output argument and count alias queries.
(get_continuation_for_phi_1): Likewise.
(get_continuation_for_phi): Likewise.
(walk_non_aliased_vuses): Add alias query counter argument
to the walker callback and allow it to abort the walk by
returning -1.
* tree-ssa-pre.c (translate_vuse_through_block): Adjust.
* tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query
counter parmeter, abort walk if that is bigger than
--param sccvn-max-alias-queries-per-access.
* params.def (sccvn-max-alias-queries-per-access): New param.
* doc/invoke.texi (sccvn-max-alias-queries-per-access): Document.

From-SVN: r190594

11 years agotree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
Richard Guenther [Wed, 22 Aug 2012 13:14:32 +0000 (13:14 +0000)]
tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.

2012-08-22  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
* tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert
instead of gcc_assert.
(mark_block_for_update): Likewise.
(add_new_name_mapping): Likewise.
(mark_def_sites): Likewise.
(insert_phi_nodes_for): Likewise.
(rewrite_debug_stmt_uses): Likewise.
(rewrite_stmt): Likewise.
(maybe_register_def): Likewise.
(rewrite_update_phi_arguments): Likewise.
(rewrite_update_enter_block): Likewise.
(mark_def_interesting): Likewise.
(prepare_def_site_for): Likewise.
(insert_updated_phi_nodes_for): Likewise.

From-SVN: r190593

11 years agotree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false.
Jakub Jelinek [Wed, 22 Aug 2012 13:00:13 +0000 (15:00 +0200)]
tree-vect-loop.c (vect_transform_loop): Initialize check_profitability to false.

* tree-vect-loop.c (vect_transform_loop): Initialize
check_profitability to false.

* tree-predcom.c (try_combine_chains): Free the worklist vector
at the end.

From-SVN: r190592

11 years agore PR tree-optimization/54317 (FAIL: c45532m c45532n c45532o c45532p)
Marc Glisse [Wed, 22 Aug 2012 12:29:23 +0000 (14:29 +0200)]
re PR tree-optimization/54317 (FAIL: c45532m c45532n c45532o c45532p)

2012-08-22  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/54317

gcc/
* tree-vrp.c (extract_range_from_binary_expr_1): Test for
double_int overflow.
Remove dead tests.

gcc/testsuite/
* gcc.dg/tree-ssa/vrp79.c: New testcase.

From-SVN: r190591

11 years agotree-vrp.c (find_assert_locations): Skip also edges from the entry block.
Jakub Jelinek [Wed, 22 Aug 2012 09:19:39 +0000 (11:19 +0200)]
tree-vrp.c (find_assert_locations): Skip also edges from the entry block.

* tree-vrp.c (find_assert_locations): Skip also edges
from the entry block.

* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call
free_stmt_vec_info on orig_cond after gsi_removing it.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always
free body_cost_vec vector.
(vect_analyze_data_refs): If gather is unsuccessful,
free_data_ref (dr).
* tree-inline.c (tree_function_versioning): Free
old_transforms_to_apply vector.

From-SVN: r190590

11 years agotree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents of this a VEC and add...
Steven Bosscher [Wed, 22 Aug 2012 08:59:56 +0000 (08:59 +0000)]
tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents of this a VEC and add a bitmap obstack.

* tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
of this a VEC and add a bitmap obstack.
(ssa_conflicts_new): Allocate the obstack and grow the VEC cleared
to the right size.
(ssa_conflicts_delete): Free the VEC and release the obstack.
(ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one,
ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes.
(truct live_track_d): Add another bitmap obstack here.
(new_live_track): Initialize it and use it for all bitmaps.
(delete_live_track): Don't free the bitmaps one at a time, just
release the obstack.
(create_outofssa_var_map): Fix to conform to GCC code style rules.

From-SVN: r190589

11 years agoMakefile.in (vis_hide, [...]): Do not make definitions depend on --enable-shared.
Joseph Myers [Wed, 22 Aug 2012 08:36:23 +0000 (09:36 +0100)]
Makefile.in (vis_hide, [...]): Do not make definitions depend on --enable-shared.

* Makefile.in (vis_hide, gen-hide-list): Do not make definitions
depend on --enable-shared.
($(lib1asmfuncs-o)): Use %.vis files independent of
--enable-shared.
* static-object.mk ($(base)$(objext), $(base).vis)
($(base)_s$(objext)): Use same rules for visibility handling as in
shared-object.mk.

From-SVN: r190588

11 years agotrans-expr.c (gfc_copy_class_to_class, [...]): Free loop and ss data.
Tobias Burnus [Wed, 22 Aug 2012 05:54:24 +0000 (07:54 +0200)]
trans-expr.c (gfc_copy_class_to_class, [...]): Free loop and ss data.

2012-08-22  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_copy_class_to_class,
        gfc_trans_arrayfunc_assign): Free loop and ss data.
        * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.

From-SVN: r190586

11 years agoconstraints.md: New file.
Nathan Froyd [Wed, 22 Aug 2012 02:23:19 +0000 (02:23 +0000)]
constraints.md: New file.

* config/m32c/constraints.md: New file.
* config/m32c/t-m32c (MD_FILES): Add constraints.
* config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
(m32c_reg_class_from_constraint): Delete.
(m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete.
(m32c_matches_constraint_p): Declare.
* config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
(REG_CLASS_FROM_CONSTRAINT): Delete.
(CONST_OK_FOR_CONSTRAINT_P): Delete.
(CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete.
(EXTRA_CONSTRAINT_STR): Delete.
(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete.
* config/m32c/m32c.c: Include tm-constrs.h
(m32c_reg_class_from_constraint): Delete.
(m32c_const_ok_for_constraint_p): Delete.
(m32c_extra_constraint_p2): Rename to...
(m32c_matches_constraint_p): ...this.  Make it return bool.  Tweak
formatting.
(m32c_extra_constraint_p): Delete.
(m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
(m32c_split_move): Use satisfies_constraint_Ss.
* config/m32c/predicates.md (memsym_operand): Use
satisfies_constraint_Si.
(memimmed_operand): Use satisfies_constraint_Sp.
(m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb.
(m32c_1bit16_operand): Use satisfies_constraint_Ilw.
(m32c_1mask8_operand): Use satisfies_constraint_ImB.
(m32c_1mask16_operand): Use satisfies_constraint_Imw.

From-SVN: r190585

11 years agomep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
Nathan Froyd [Wed, 22 Aug 2012 02:21:17 +0000 (02:21 +0000)]
mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.

* config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
(CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
* config/mep/mep.c (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
* config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
(mep_const_ok_for_letter_p, mep_extra_constraint): Delete.

From-SVN: r190584

11 years agoDaily bump.
GCC Administrator [Wed, 22 Aug 2012 00:18:07 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190583

11 years agosh.md (cmpeqdi_t, [...]): Convert to multi-line asm output strings.
Oleg Endo [Tue, 21 Aug 2012 23:38:47 +0000 (23:38 +0000)]
sh.md (cmpeqdi_t, [...]): Convert to multi-line asm output strings.

* config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond,
truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a,
ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei,
call_valuei_pcrel, sibcalli_pcrel, sibcall_compact,
sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1,
casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1,
sp_switch_2, stack_protect_set_si, stack_protect_set_si_media,
stack_protect_set_di_media, stack_protect_test_si,
stack_protect_test_si_media, stack_protect_test_di_media): Convert to
multi-line asm output strings.
(divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm
output.
(*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli, call_valuei_tbr_rel,
movml_push_banked, movml_pop_banked, bclr_m2a, bclrmem_m2a, bset_m2a,
bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a, bld_reg, *bld_regqi,
band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr, ): Use tab char
instead of '\\t'.
(iordi3): Use braced string.
(*movsi_pop): Use tab chars instead of spaces.

From-SVN: r190580

11 years agore PR target/39423 ([SH] performance regression: lost mov @(disp,Rn))
Oleg Endo [Tue, 21 Aug 2012 23:34:54 +0000 (23:34 +0000)]
re PR target/39423 ([SH]  performance regression: lost mov @(disp,Rn))

PR target/39423
* config/sh/sh.md (*movhi_index_disp): Add support for SH2A movu.w insn.

PR target/39423
* gcc.target/sh/pr39423-2.c: New.

From-SVN: r190579

11 years agoRestore df_free_collection_rec call in df_bb_verify
H.J. Lu [Tue, 21 Aug 2012 21:07:01 +0000 (21:07 +0000)]
Restore df_free_collection_rec call in df_bb_verify

PR middle-end/54332
* df-scan.c (df_bb_verify): Restore df_free_collection_rec call
inside the insn traversal loop.

* vec.h (vec_reserve): Remove the stack allocation check.

From-SVN: r190576

11 years agoparse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make sure the...
Tobias Burnus [Tue, 21 Aug 2012 21:01:36 +0000 (23:01 +0200)]
parse.c (parse_contained): Include EXEC_END_PROCEDURE in ns->code to make sure the gfc_code is freed.

2012-08-21  Tobias Burnus  <burnus@net-b.de>

        * parse.c (parse_contained): Include EXEC_END_PROCEDURE
        in ns->code to make sure the gfc_code is freed.

From-SVN: r190575

11 years agomorestack.S (__morestack_non_split): Increase amount of space allocated for non-split...
Ian Lance Taylor [Tue, 21 Aug 2012 20:51:42 +0000 (20:51 +0000)]
morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack.

* config/i386/morestack.S (__morestack_non_split): Increase amount
of space allocated for non-split code stack.

From-SVN: r190574

11 years agofold-const.c (fold_ternary_loc): Detect identity permutations.
Marc Glisse [Tue, 21 Aug 2012 13:27:00 +0000 (15:27 +0200)]
fold-const.c (fold_ternary_loc): Detect identity permutations.

2012-08-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* fold-const.c (fold_ternary_loc): Detect identity permutations.
Canonicalize permutations more.
* tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
(simplify_permutation): Likewise.
(ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-19.c: New testcase.
* gcc.dg/fold-perm.c: Likewise.

From-SVN: r190561

11 years agotree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free the affine expansion cache.
Richard Guenther [Tue, 21 Aug 2012 11:48:42 +0000 (11:48 +0000)]
tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free the affine expansion cache.

2012-08-21  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
the affine expansion cache.
* tree-ssa-dom.c (free_expr_hash_elt_contents): New function,
split out from ...
(free_expr_hash_elt): ... this one.
(record_cond): Properly free a not needed hashtable element.
(lookup_avail_expr): Likewise.
* tree-into-ssa.c (init_ssa_renamer): Specify a free function
for the var_infos hashtable.
(update_ssa): Likewise.

From-SVN: r190560

11 years agoalloc-pool.c (pool_alloc): Fix valgrind annotation.
Richard Guenther [Tue, 21 Aug 2012 11:26:16 +0000 (11:26 +0000)]
alloc-pool.c (pool_alloc): Fix valgrind annotation.

2012-08-21  Richard Guenther  <rguenther@suse.de>

* alloc-pool.c (pool_alloc): Fix valgrind annotation.
* tree.h: Fix typo and complete flags documentation.

From-SVN: r190559

11 years agocp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
Richard Biener [Tue, 21 Aug 2012 10:03:38 +0000 (10:03 +0000)]
cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.

2012-08-21  Richard Guenther  <rguenther@suse.de>

cp/
* cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
(ATTR_IS_DEPENDENT): Likewise.
(ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
TREE_LANG_FLAG_0 on TREE_VECs.

* tree.h (struct tree_base): Add union to make it possible to
re-use the upper 4 bytes for tree codes that do not need as
many flags as others.  Move visited and default_def_flag to
common bits section in exchange for saturating_flag and
unsigned_flag.  Add SSA name version and tree vec length
fields here.
(struct tree_vec): Remove length field here.
(struct tree_ssa_name): Remove version field here.

From-SVN: r190558

11 years agoMAINTAINERS (Write After Approval): Add myself.
Hariharan Sandanagobalane [Tue, 21 Aug 2012 09:59:59 +0000 (09:59 +0000)]
MAINTAINERS (Write After Approval): Add myself.

        * MAINTAINERS (Write After Approval): Add myself.
        (picochip port): Remove myself.

From-SVN: r190557

11 years agore PR fortran/48636 (Enable more inlining with -O2 and higher)
Jan Hubicka [Tue, 21 Aug 2012 06:54:01 +0000 (08:54 +0200)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)

PR fortran/48636
* ipa-inline.c (want_inline_small_function_p): Take loop_iterations hint.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add INLINE_HINT_loop_iterations.
(inline_summary): Add loop_iterations.
* ipa-inline-analysis.c: Include tree-scalar-evolution.h.
(dump_inline_hints): Dump loop_iterations.
(reset_inline_summary): Free loop_iterations.
(inline_node_duplication_hook): Update loop_iterations.
(dump_inline_summary): Dump loop_iterations.
(will_be_nonconstant_expr_predicate): New function.
(estimate_function_body_sizes): Analyze loops.
(estimate_node_size_and_time): Set hint loop_iterations.
(inline_merge_summary): Merge loop iterations.
(inline_read_section): Stream in loop_iterations.
(inline_write_summary): Stream out loop_iterations.

From-SVN: r190556

11 years agomksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.
Ian Lance Taylor [Tue, 21 Aug 2012 05:29:30 +0000 (05:29 +0000)]
mksysinfo: Fix syscall.F_GETLK and friends for 32-bit x86.

From-SVN: r190554

11 years agoDaily bump.
GCC Administrator [Tue, 21 Aug 2012 00:18:14 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190552

11 years agoFix PR numbers for ChangeLog entries.
Oleg Endo [Mon, 20 Aug 2012 21:25:17 +0000 (21:25 +0000)]
Fix PR numbers for ChangeLog entries.

From-SVN: r190547

11 years agoFix PR C++/19351: integer overflow in operator new[]
Florian Weimer [Mon, 20 Aug 2012 21:13:23 +0000 (23:13 +0200)]
Fix PR C++/19351: integer overflow in operator new[]

2012-08-20  Florian Weimer  <fweimer@redhat.com>

PR c++/19351
* call.c (build_operator_new_call): Add size_check argument and
evaluate it.
* cp-tree.h (build_operator_new_call): Adjust declaration.
* init.c (build_new_1): Compute array size check and apply it.

2012-08-10  Florian Weimer  <fweimer@redhat.com>

PR c++/19351
* g++.dg/init/new38.C: New test.
* g++.dg/init/new39.C: New test.

From-SVN: r190546

11 years agore PR rtl-optimization/50489 ([UPC/IA64] mis-schedule of MEM ref with -ftree-vectoriz...
Oleg Endo [Mon, 20 Aug 2012 20:54:20 +0000 (20:54 +0000)]
re PR rtl-optimization/50489 ([UPC/IA64] mis-schedule of MEM ref with -ftree-vectorize and -fschedule-insns2)

PR target/50489
* config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
(ashrdi3_k, lshrdi3_k): Rewrite as insn_and_split.
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
* config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.

PR target/50489
* gcc.target/sh/pr54089-1.c: New.

From-SVN: r190545

11 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Mon, 20 Aug 2012 20:51:06 +0000 (20:51 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (*cset_zero): New insns.

PR target/51244
* gcc.target/sh/pr51244-11.c: New.

From-SVN: r190544

11 years agodwarf2out.c: For DWARF 4+, output DW_AT_high_pc as constant offset.
Mark Wielaard [Mon, 20 Aug 2012 20:27:46 +0000 (20:27 +0000)]
dwarf2out.c: For DWARF 4+, output DW_AT_high_pc as constant offset.

        * dwarf2out.h (enum dw_val_class): Add dw_val_class_high_pc.
        * dwarf2out.c (dw_val_equal_p): Handle dw_val_class_high_pc.
        (add_AT_low_high_pc): New function.
        (AT_lbl): Handle dw_val_class_high_pc.
        (print_die): Likewise.
        (attr_checksum): Likewise.
        (attr_checksum_ordered): Likewise.
        (same_dw_val_p): Likewise.
        (size_of_die): Likewise.
        (value_format): Likewise.
        (output_die): Likewise.
        (gen_subprogram_die): Use add_AT_low_high_pc.
        (add_high_low_attributes): Likewise.
        (dwarf2out_finish): Likewise.

From-SVN: r190543

11 years agore PR fortran/54301 (Add optional warning if pointer assigning a local variable to...
Tobias Burnus [Mon, 20 Aug 2012 19:49:46 +0000 (21:49 +0200)]
re PR fortran/54301 (Add optional warning if pointer assigning a local variable to a nonlocal pointer)

2012-08-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54301
        * expr.c (gfc_check_pointer_assign): Warn when a pointer,
        which is a function result, might outlive its target.

2012-08-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54301
        * gfortran.dg/warn_target_lifetime_2.f90: New.

From-SVN: r190542

11 years agore PR rtl-optimization/54294 ([alpha] Bootstrap comparison failure due to fwprop...
Jakub Jelinek [Mon, 20 Aug 2012 18:56:49 +0000 (20:56 +0200)]
re PR rtl-optimization/54294 ([alpha] Bootstrap comparison failure due to fwprop handling of debug insns)

PR rtl-optimization/54294
* fwprop.c (all_uses_available_at): Ignore debug insns in between
def_insn and target_insn when checking whether the shortcut is
possible.

From-SVN: r190541

11 years ago* config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
Eric Botcazou [Mon, 20 Aug 2012 18:50:13 +0000 (18:50 +0000)]
* config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.

From-SVN: r190540

11 years agore PR c++/10416 ('unused variable' warning ignores ctor/dtor side-effects)
Paolo Carlini [Mon, 20 Aug 2012 17:38:53 +0000 (17:38 +0000)]
re PR c++/10416 ('unused variable' warning ignores ctor/dtor side-effects)

/cp
2012-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/10416
* decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
Wunused_variable too.

/testsuite
2012-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/10416
* g++.dg/warn/Wunused-var-17.C: New.

From-SVN: r190538

11 years agore PR middle-end/53992 (Combining -fopenmp and -fgnu-tm results in segfault or misbeh...
Patrick Marlier [Mon, 20 Aug 2012 16:22:17 +0000 (16:22 +0000)]
re PR middle-end/53992 (Combining -fopenmp and -fgnu-tm results in segfault or misbehaving binaries)

gcc/
2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>

PR middle-end/53992
* omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.

testsuite/
2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>

PR middle-end/53992
* gcc.dg/gomp/pr53992.c: New test.

From-SVN: r190536

11 years agoFix -ftime-report for C++ lookup.
Diego Novillo [Mon, 20 Aug 2012 14:23:32 +0000 (10:23 -0400)]
Fix -ftime-report for C++ lookup.

Found this while running -ftime-report on a largish C++ source file.
We need to start TV_NAME_LOOKUP conditionally inside poplevel()
because it may be called from another lookup routine that already has
TV_NAME_LOOKUP going.

Tested on x86_64.  Committed to trunk.

2012-08-20  Diego Novillo  <dnovillo@google.com>

* decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.

From-SVN: r190535

11 years agore PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong...
Richard Earnshaw [Mon, 20 Aug 2012 14:13:16 +0000 (14:13 +0000)]
re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)

PR tree-ssa/54295
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
declaration and setter.

From-SVN: r190534

11 years agore PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong...
Richard Earnshaw [Mon, 20 Aug 2012 12:49:47 +0000 (12:49 +0000)]
re PR tree-optimization/54295 (Widening multiply-accumulate operation uses wrong value extension)

PR tree-ssa/54295
* tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
New function.
(is_widening_mult_rhs_p): Use it.

* gcc.c-torture/execute/20120817-1.c: New test.

From-SVN: r190533

11 years agoconfigure.ac (ffs): Check for declaration.
Joseph Myers [Mon, 20 Aug 2012 12:31:25 +0000 (13:31 +0100)]
configure.ac (ffs): Check for declaration.

* configure.ac (ffs): Check for declaration.
* configure, config.in: Regenerate.

From-SVN: r190532