- 27 Sep, 2013 18 commits
-
-
From-SVN: r202993
Ian Lance Taylor committed -
2013-09-27 François Dumont <fdumont@gcc.gnu.org> * include/bits/predefined_ops.h: New. * include/bits/stl_heap.h: Include <bits/predefined_ops.h>. (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove algo duplication. (__is_heap): Adapt. (__make_heap): New. (make_heap): Adapt to use latter. (__sort_heap): New. (sort_heap): Adapt to use latter. * include/bits/algobase.h: Include <bits/predefined_ops.h>. (__lexicographical_compare_impl): New. (__lexicographical_compare<false>::__lc): Adapt to use latter. (lexicographical_compare): Likewise. (__lower_bound): New. (lower_bound): Adapt to use latter. (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads. (__mismatch): New. (mismatch): Use latter. * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove <functional> include. (__move_median_first, __find, __find_if, __find_if_not): Remove algo duplication. (__find_end): Likewise. (__search_n): Rename into ... (__search_n_aux): ... this. (__search_n): Renew, use latter. (search_n): Use latter. (__search): New. (search): Use latter. (__find_end): Likewise. (__remove_copy_if): New. (remove_copy): Use latter. (__adjacent_find): New. (adjacent_find): Use latter. (__unique): New. (unique): Use latter. (__unique_copy): Remove algo duplication. (__stable_partition): New. (stable_partition): Use latter. (__heap_select): Remove algo duplication, use __make_heap. (__partial_sort): New, use latter. (partial_sort): Use latter. (__partial_sort_copy): New. (partial_sort_copy): Use latter. (__unguarded_linear_insert, __insertion_sort): Remove algo duplication. (__unguarded_insertion_sort, __final_insertion_sort): Likewise. (__unguarded_partition, __unguarded_partition_pivot): Likewise. (__partial_sort): New. (partial_sort): Use latter. (__sort): New. (sort): Use latter. (lower_bound): Use __lower_bound. (__upper_bound): New. (upper_bound): Use latter. (__equal_range): New. (equal_range): Use latter. (__move_merge_adaptive, __move_merge_adaptive_backward): Remove algo duplication. (__merge_adaptive, __merge_without_buffer): Likewise. (__inplace_merge): New. (inplace_merge): Use latter. (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove algo duplication. (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise. (__inplace_stable_sort): Likewise. (__include): New. (includes): Use latter. (__next_permutation): New. (next_permutation): Use latter. (__prev_permutation): New. (prev_permutation): Use latter. (__replace_copy_if): New. (replace_copy): Use latter. (__is_sorted_until): New. (is_sorted_unitl): Use latter. (__minmax_element): New. (minmax_element): Use latter. (__is_permutation): New. (is_permutation): Use latter. (__adjacent_find): New. (adjacent_find): Use latter. (__count_if): New. (count): Use latter. (count_if): Likewise. (__merge): New. (merge): Use latter. (__stable_sort): New. (stable_sort): Use latter. (__set_union): New. (set_union): Use latter. (__set_intersection): New. (set_intersection): Use latter. (__set_difference): New. (set_difference): Use latter. (__set_symmetric_difference): New. (set_symmetric_difference): Use latter. (__min_element): New. (min_element): Use latter. (__max_element): New. (max_element): Use latter. * include/Makefile.am: Add predefined_ops.h. * include/Makefile.in: Regenerate. * include/parallel/algobase.h (equal, mismatch): Add overloads from N3671. * testsuite/25_algorithms/is_permutation/vectorbool.cc: New. * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise. * testsuite/25_algorithms/find/vectorbool.cc: Likewise. * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise. * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise. * testsuite/25_algorithms/heap/vectorbool.cc: Likewise. * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise. * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise. From-SVN: r202992
François Dumont committed -
2013-09-27 Jan-Benedict Glaw <jbglaw@lug-owl.de> * lra-eliminations.c (init_elim_table): Guard value_p. From-SVN: r202991
Jan-Benedict Glaw committed -
2013-09-27 Janne Blomqvist <jb@gcc.gnu.org> * intrinsic.texi (DATE_AND_TIME): Fix example. From-SVN: r202986
Janne Blomqvist committed -
[gcc] 2013-09-27 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow DFmode, DImode, and SFmode in the upper VSX registers based on the -mupper-regs-{df,sf} flags. Fix wu constraint to be ALTIVEC_REGS if -mpower8-vector. Combine -mvsx-timode handling with the rest of the VSX register handling. * config/rs6000/rs6000.md (f32_lv): Use %x0 for VSX regsters. (f32_sv): Likewise. (zero_extendsidi2_lfiwzx): Add support for loading into the Altivec registers with -mpower8-vector. Use wu/wv constraints to only do VSX memory options on Altivec registers. (extendsidi2_lfiwax): Likewise. (extendsfdf2_fpr): Likewise. (mov<mode>_hardfloat, SF/SD modes): Likewise. (mov<mode>_hardfloat32, DF/DD modes): Likewise. (mov<mode>_hardfloat64, DF/DD modes): Likewise. (movdi_internal64): Likewise. [gcc/testsuite] 2013-09-27 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p8vector-ldst.c: New test for -mupper-regs-sf and -mupper-regs-df. From-SVN: r202984Michael Meissner committed -
From-SVN: r202982
Ian Lance Taylor committed -
From-SVN: r202981
Diego Novillo committed -
From-SVN: r202980
Xinliang David Li committed -
The gimple builder no longer support normal form. The ssa_mode enum is not needed now. * gimple.h (enum ssa_mode): Remove. From-SVN: r202977
Diego Novillo committed -
PR middle-end/58463 * gcc.dg/pr58463.c: New test. From-SVN: r202976Paulo Matos committed -
From-SVN: r202975
Paulo Matos committed -
re PR libstdc++/57465 (Failed postcondition for std::function constructed with null function pointer) PR libstdc++/57465 * include/std/functional (_Function_base::_Base_manager::_M_not_empty_function): Fix overload for pointers. * testsuite/20_util/function/cons/57465.cc: New. From-SVN: r202974
Jonathan Wakely committed -
PR middle-end/58551 * tree-cfg.c (move_sese_region_to_fn): Also move loops that are children of outermost saved_cfun's loop, and set it up to be moved to dest_cfun's outermost loop. Fix up num_nodes adjustments if loop != loop0 and SESE region contains bbs that belong to loop0. * c-c++-common/gomp/pr58551.c: New test. From-SVN: r202972
Jakub Jelinek committed -
gcc/ * rtlanal.c (must_be_base_p, must_be_index_p): Delete. (binary_scale_code_p, get_base_term, get_index_term): New functions. (set_address_segment, set_address_base, set_address_index) (set_address_disp): Accept the argument unconditionally. (baseness): Remove must_be_base_p and must_be_index_p checks. (decompose_normal_address): Classify as much as possible in the main loop. From-SVN: r202970
Richard Sandiford committed -
gcc/ * cse.c (count_reg_usage): Handle INT_LIST. * lra-eliminations.c (lra_eliminate_regs_1): Likewise. * reginfo.c (reg_scan_mark_refs): Likewise. * reload1.c (eliminate_regs_1): Likewise. From-SVN: r202969
Richard Sandiford committed -
re PR middle-end/58547 (rtlanal.c:5482:19: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]) gcc: PR middle-end/58547 * rtlanal.c (lsb_bitfield_op_p): Make both parts of the comparison signed. From-SVN: r202967
Iain Sandoe committed -
2013-09-27 Richard Biener <rguenther@suse.de> PR tree-optimization/58459 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Remove restriction not propagating into loops. * gcc.dg/tree-ssa/ssa-pre-31.c: New testcase. From-SVN: r202966
Richard Biener committed -
From-SVN: r202964
GCC Administrator committed
-
- 26 Sep, 2013 16 commits
-
-
2013-09-26 Tim Shen <timshen91@gmail.com> * regex_error.h: Remove _S_error_last to follow the standard. * regex_scanner.tcc: (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to error_badbrace. (_Scanner<>::_M_eat_escape_posix): Extended doesn't support back-reference. * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Move here from ../../extended. * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Likewise. From-SVN: r202958
Tim Shen committed -
2013-09-26 Bernd Edlinger <bernd.edlinger@hotmail.de> PR fortran/58113 * gfortran.dg/round_4.f90: Check for rounding support. From-SVN: r202954Bernd Edlinger committed -
2013-09-26 Florian Weimer <fw@deneb.enyo.de> * tree-ssa.h (walk_use_def_chains_fn, walk_use_def_chains): Delete. * tree-ssa.c (walk_use_def_chains_1, walk_use_def_chains): Delete. * doc/tree-ssa.texi (Walking use-def chains): Delete. From-SVN: r202951
Florian Weimer committed -
2013-09-26 Richard Biener <rguenther@suse.de> * tree-into-ssa.c (rewrite_into_ssa): Make more SSA names to anonymous. From-SVN: r202949
Richard Biener committed -
2013-09-26 Richard Biener <rguenther@suse.de> * alias.h (component_uses_parent_alias_set): Rename to ... (component_uses_parent_alias_set_from): ... this. * alias.c (component_uses_parent_alias_set): Rename to ... (component_uses_parent_alias_set_from): ... this and return the desired parent. (reference_alias_ptr_type_1): Use the result from component_uses_parent_alias_set_from instead of stripping components one at a time. * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust. From-SVN: r202948
Richard Biener committed -
gcc/testsuite/ * g++.dg/vect/pr58513.cc (op): Make static. From-SVN: r202947
James Greenhalgh committed -
2013-09-26 Andrew MacLeod <amacleod@redhat.com> * tree-ssa-live.h (find_replaceable_exprs, dump_replaceable_exprs): Move prototypes to... * tree-ssa-ter.h: New File. Move prototypes here. * tree-flow.h (stmt_is_replaceable_p): Remove prototype. * tree-outof-ssa.h: New. Rename ssaexpand.h, include tree-ssa-ter.h. * tree-outof-ssa.c (ssa_is_replaceable_p): New. Refactor common bits from is_replaceable_p. * tree-ssa-ter.c (is_replaceable_p, stmt_is_replaceable_p): Delete. (ter_is_replaceable_p): New. Use new refactored ssa_is_replaceable_p. (process_replaceable): Use ter_is_replaceable_p. (find_replaceable_in_bb): Use ter_is_replaceable_p. * expr.c (stmt_is_replaceable_p): Relocate from tree-ssa-ter.c. Use newly refactored ssa_is_replaceable_p. * cfgexpand.c: Include tree-outof-ssa.h. * ssaexpand.h: Delete. From-SVN: r202946
Andrew MacLeod committed -
2013-09-26 Andrew MacLeod <amacleod@redhat.com> * gimple.c (gimple_replace_lhs): Move to tree-ssa.c and rename. (struct count_ptr_d, count_ptr_derefs, count_uses_and_derefs): Move to tree-ssa.c (create_gimple_tmp): Delete. (get_expr_type, build_assign, build_type_cast): Move to... * gimple-builder.c: New File. (get_expr_type): Relocate from gimple.c. (build_assign, build_type_cast): Change to only create ssanames. * gimple.h: Move prototypes to... * gimple-builder.h: New File. Here. * tree-ssa.h: And here. * tree-ssa.c (struct count_ptr_d, count_ptr_derefs, count_uses_and_derefs): Relocate from gimple.c. (gimple_replace_ssa_lhs): Renamed gimple_replace_ssa from gimple.c * tree-ssa-reassoc.c (repropagate_negates): Use gimple_replace_ssa_lhs. * tree-ssa-math-opts (execute_cse_reciprocals): Use gimple_replace_ssa_lhs. * asan.c: Include gimple-builder.h. * Makefile.in: Add gimple-builder.o. From-SVN: r202945
Andrew MacLeod committed -
tree-ssa-live.c (var_map_base_init): Handle SSA names with DECL_IGNORED_P base VAR_DECLs like anonymous SSA names. 2013-09-26 Richard Biener <rguenther@suse.de> * tree-ssa-live.c (var_map_base_init): Handle SSA names with DECL_IGNORED_P base VAR_DECLs like anonymous SSA names. (loe_visit_block): Use gcc_checking_assert. * tree-ssa-coalesce.c (create_outofssa_var_map): Use gimple_assign_ssa_name_copy_p. (gimple_can_coalesce_p): Adjust according to the var_map_base_init change. * gcc.dg/tree-ssa/coalesce-2.c: New testcase. From-SVN: r202944
Richard Biener committed -
* config/rs6000/t-rs6000 (rs6000.o): Remove. (rs6000-c.o): Use COMPILE and POSTCOMPILE. From-SVN: r202943David Edelsohn committed -
2013-09-26 Richard Biener <rguenther@suse.de> PR tree-optimization/58539 * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor the fact that debug statements are not taking part in loop-closed SSA construction. * gcc.dg/torture/pr58539.c: New testcase. From-SVN: r202942
Richard Biener committed -
* config/msp430/msp430.c (msp430_expand_epilogue): Fix compile time warning message. (msp430_print_operand_raw): Delete unused letter parameter. (TARGET_PRINT_OPERAND_ADDRESS): Define. (msp430_print_operand_address): New function. (msp430_print_operand): Move address printing code from here to new function. * config/msp430/msp430.md (movsipsi2): Add comment in generated assembler. (zero_extendpsisi2): Likewise. (extendpsisi2): New pattern. (andneghi3): New pattern. From-SVN: r202941
Nick Clifton committed -
2013-09-26 Yvan Roux <yvan.roux@linaro.org> * config/aarch64/aarch64.opt (mlra): New option. * config/aarch64/aarch64.c (aarch64_lra_p): New function. (TARGET_LRA_P): Define. From-SVN: r202940
Yvan Roux committed -
From-SVN: r202938
Eric Botcazou committed -
* tree-flow.h (thread_through_all_blocks): Prototype moved into tree-ssa-threadupdate.h. (register_jump_thread): Similarly. * tree-ssa-threadupdate.h: New header file. * tree-ssa-dom.c: Include tree-ssa-threadupdate.h. * tree-vrp.c: Likewise. * tree-ssa-threadedge.c: Include tree-ssa-threadupdate.h. (thread_around_empty_blocks): Change type of path vector argument to an edge,type pair from just an edge. Initialize both elements when appending to a jump threading path. Tweak references to elements appropriately. (thread_across_edge): Similarly. Release memory for the elements as needed. * tree-ssa-threadupdate.c: Include tree-ssa-threadupdate.h. (dump_jump_thread_path): New function broken out from register_jump_thread. (register_jump_thread): Use dump_jump_thread_path. Change type of path vector entries. Search the path for NULL edges and dump the path if one is found. Tweak the conversion of path to 3-edge form to use the block copy type information embedded in the path. * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Update expected output. From-SVN: r202933
Jeff Law committed -
From-SVN: r202931
GCC Administrator committed
-
- 25 Sep, 2013 6 commits
-
-
2013-09-25 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/58338 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after): Mark as noexcept. (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->, operator++, operator==, operator!=, _M_next]: Likewise. (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*, operator->, operator++, operator==, operator!=, _M_next]: Likewise. (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&), operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)): Likewise. * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base, _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base, _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&, const _Node_iterator_base&), operator!=(const _Node_iterator_base&, const _Node_iterator_base&)): Likewise. (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]: Likewise. (_Node_const_iterator) [_Node_const_iterator, operator*, operator->, operator++]: Likewise. * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator, operator=, operator*, operator->, operator++, operator--, operator[], operator+=, operator+, operator-=, operator-, base, operator _Iterator]: Likewise. (operator==(const _Safe_iterator&, const _Safe_iterator&), operator!=(const _Safe_iterator&, const _Safe_iterator&), operator<(const _Safe_iterator&, const _Safe_iterator&), operator<=(const _Safe_iterator&, const _Safe_iterator&), operator>(const _Safe_iterator&, const _Safe_iterator&), operator>=(const _Safe_iterator&, const _Safe_iterator&), operator-(const _Safe_iterator&, const _Safe_iterator&), operator+(difference_type, const _Safe_iterator&)): Likewise. * include/profile/iterator_tracker.h (__iterator_tracker) [__iterator_tracker, base, operator _Iterator, operator->, operator++, operator--, operator=, operator*, operator[], operator+=, operator+, operator-=, operator-]: Likewise. (operator==(const __iterator_tracker&, const __iterator_tracker&), operator!=(const __iterator_tracker&, const __iterator_tracker&), operator<(const __iterator_tracker&, const __iterator_tracker&), operator<=(const __iterator_tracker&, const __iterator_tracker&), operator>(const __iterator_tracker&, const __iterator_tracker&), operator>=(const __iterator_tracker&, const __iterator_tracker&), operator-(const __iterator_tracker&, const __iterator_tracker&), operator+(difference_type, const __iterator_tracker&)): Likewise. From-SVN: r202924
Marc Glisse committed -
2013-09-25 Tobias Burnus <burnus@net-b.de> PR fortran/58436 * class.c (generate_finalization_wrapper): Handle CLASS(*). 2013-09-25 Tobias Burnus <burnus@net-b.de> PR fortran/58436 * gfortran.dg/finalize_21.f90: New. From-SVN: r202923Tobias Burnus committed -
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment) 2013-09-25 Tobias Burnus <burnus@net-b.de> PR fortran/57697 PR fortran/58469 * resolve.c (generate_component_assignments): Avoid double free at runtime and freeing a still-being used expr. 2013-09-25 Tobias Burnus <burnus@net-b.de> PR fortran/57697 PR fortran/58469 * gfortran.dg/defined_assignment_8.f90: New. * gfortran.dg/defined_assignment_9.f90: New. From-SVN: r202922Tobias Burnus committed -
From-SVN: r202921
Jayant Sonar committed -
when GCC was not configured with --enable-vtable-verify. From-SVN: r202918
Caroline Tice committed -
2013-09-25 Yvan Roux <yvan.roux@linaro.org> * lra.c (update_inc_notes): Remove all REG_DEAD and REG_UNUSED notes. From-SVN: r202915
Yvan Roux committed
-