- 17 Sep, 2015 27 commits
-
-
* include/debug/formatter.h (_Error_formatter::_Parameter::_M_print_field): Deprecate. (_Error_formatter::_Parameter::_M_print_description): Likewise. (_Error_formatter::_M_format_word): Likewise. (_Error_formatter::_M_print_word): Likewise. (_Error_formatter::_M_print_string): Likewise. (_Error_formatter::_M_get_max_length): Likewise. (_Error_formatter::_M_max_length): Delete. (_Error_formatter::_M_indent): Likewise. (_Error_formatter::_M_column): Likewise. (_Error_formatter::_M_first_line): Likewise. (_Error_formatter::_M_wordwrap): Likewise. * src/c++11/debug.cc: Adapt. From-SVN: r227885
François Dumont committed -
* cp-tree.def: Add UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, BINARY_LEFT_FOLD_EXPR, BINARY_RIGHT_FOLD_EXPR. * cp-objcp-common.c (cp_common_init_ts): Handle them. * cp-tree.h (FOLD_EXPR_CHECK, BINARY_FOLD_EXPR_CHECK, FOLD_EXPR_P) (FOLD_EXPR_MODIFY_P, FOLD_EXPR_OP, FOLD_EXPR_PACK, FOLD_EXPR_INIT): New. * parser.c (cp_parser_skip_to_closing_parenthesis): Split out... (cp_parser_skip_to_closing_parenthesis_1): This function. Change or_comma parameter to or_ttype. (cp_parser_fold_operator, cp_parser_fold_expr_p) (cp_parser_fold_expression): New. (cp_parser_primary_expression): Use them. * pt.c (expand_empty_fold, fold_expression, tsubst_fold_expr_pack) (tsubst_fold_expr_init, expand_left_fold, tsubst_unary_left_fold) (tsubst_binary_left_fold, expand_right_fold) (tsubst_unary_right_fold, tsubst_binary_right_fold): New. (tsubst_copy): Use them. (type_dependent_expression_p): Handle fold-expressions. * semantics.c (finish_unary_fold_expr) (finish_left_unary_fold_expr, finish_right_unary_fold_expr) (finish_binary_fold_expr): New. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r227883
Andrew Sutton committed -
2015-09-17 Ian Lance Taylor <iant@google.com> * posix.c (backtrace_open): Cast second argument of open() to int. From-SVN: r227881
Ian Lance Taylor committed -
2015-09-17 Christian Bruel <christian.bruel@st.com> * config/arm/arm.md (*call_value_symbol): Fix operand for interworking. From-SVN: r227880
Christian Bruel committed -
From-SVN: r227879
Eric Botcazou committed -
gcc: 2015-09-17 Richard Henderson <rth@redhat.com> PR libstdc++/65913 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake pointers that encode the alignment of the object. libstdc++-v3: 2015-09-17 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65913 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the immediate pointer value, not a variable. * include/std/atomic (atomic<T>::is_lock_free()): Likewise. * testsuite/29_atomics/atomic/65913.cc: New. From-SVN: r227878
Jonathan Wakely committed -
PR rtl-optimization/66790 * df-problems.c (LIVE): Amend documentation. From-SVN: r227874
Eric Botcazou committed -
* testsuite/experimental/filesystem/operations/canonical.cc: Remove non-deterministic part of the test. From-SVN: r227873
Jonathan Wakely committed -
PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Retry after short reads. From-SVN: r227872
Jonathan Wakely committed -
* include/std/system_error (error_code::operator bool(), error_condition::operator bool()): Remove redundant conditional expression. From-SVN: r227871
Jonathan Wakely committed -
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): Do nothing if exceptions are disabled. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. From-SVN: r227870
Jonathan Wakely committed -
optabs.[hc] is a bit of a behemoth. It includes basic functions for querying what a target can do, related tree- and gimple-level query functions, related rtl-level query functions, and the functions that actually generate code. Some gimple optimisations therefore need: #include "insn-config.h" #include "expmed.h" #include "dojump.h" #include "explow.h" #include "emit-rtl.h" #include "varasm.h" #include "stmt.h" #include "expr.h" purely to query whether the target has support for a particular operation. This patch splits optabs up as follows: - optabs-query.[hc]: IL-independent functions for querying what a target can do natively. - optabs-tree.[hc]: tree and gimple query functions (an extension of optabs-query.[hc]). - optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of libfuncs.h) - optabs.h: For now includes optabs-query.h and optabs-libfuncs.h. Only two files outside optabs need to include both optabs.h and optabs-tree.h: expr.c and function.c. I think that's expected given that both are related to expand. It might be good to split optabs.h further, but this is already quite a big patch. I changed can_conditionally_move_p from returning an int to returning a bool and fixed a few formatting glitches. There should be no other changes to the functions themselves. gcc/ * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o and optabs-tree.o. (GTFILES): Replace optabs.c with optabs-libfunc.c. * genopinit.c (main): Add an include guard to insn-opinit.h. Protect the rtx_code parts with NUM_RTX_CODE. * optabs.h: Split parts out to... * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files. * optabs.c: Split parts out to... * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files. * cilk-common.c: Include optabs-query.h rather than optabs.h. * fold-const.c: Likewise. * target-globals.c: Likewise. * tree-if-conv.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h. Remove unncessary include files. * tree-ssa-phiopt.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vrp.c: Likewise. * toplev.c: Include optabs-query.h and optabs-libfuncs.h rather than optabs.h. * expr.c: Include optabs-tree.h. * function.c: Likewise. From-SVN: r227865
Richard Sandiford committed -
When asking for the type of a receive operation, the compiler would return an error type if the receive operator was being used on an invalid channel type and the error would be reported in a later pass. There are several ways that the type checking pass would not see the original node and fail to issue the error. This patch modifies receive operations to give an error immediately once it is known that the channel type is invalid. Fixes golang/go#12323. Reviewed-on: https://go-review.googlesource.com/13987 From-SVN: r227863
Ian Lance Taylor committed -
PR middle-end/65958 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define. * config/arm/arm-protos.h (output_probe_stack_range): Declare. * config/arm/arm.c: Include common/common-target.h. (use_return_insn): Return 0 if the static chain register was saved above a non-APCS frame. (arm_compute_static_chain_stack_bytes): Adjust for stack checking. (struct scratch_reg): New. (get_scratch_register_on_entry): New function. (release_scratch_register_on_entry): Likewise. (arm_emit_probe_stack_range): Likewise. (output_probe_stack_range): Likewise. (arm_expand_prologue): Factor out code dealing with the IP register for nested function and adjust it for stack checking. Invoke arm_emit_probe_stack_range if static builtin stack checking is enabled. (thumb1_expand_prologue): Sorry out if static builtin stack checking is enabled. (arm_expand_epilogue): Add the saved static chain register, if any, to the amount of pre-pushed registers to pop. (arm_frame_pointer_required): Return true if static stack checking is enabled and we want to catch the exception with the EABI unwinder. * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant. (UNSPEC_PROBE_STACK_RANGE): Likewise. * config/arm/arm.md (probe_stack): New insn. (probe_stack_range): Likewise. From-SVN: r227860
Eric Botcazou committed -
2015-09-17 Richard Biener <rguenther@suse.de> * genmatch.c (parser::parse_expr): Improve error message for mis-placed flags. From-SVN: r227859
Richard Biener committed -
passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook when we created a varpool node. 2015-09-17 Richard Biener <rguenther@suse.de> * passes.c (rest_of_decl_compilation): Always call early_global_decl debug hook when we created a varpool node. * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call dwarf2out_early_global_decl, when not just add location or value attributes to existing DIEs. From-SVN: r227857
Richard Biener committed -
2015-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 PR fortran/67588 * module.c : Add static no_module_procedures. (gfc_match_submodule): Correct memory leakage caused during the freeing of use_lists. (mio_symbol_attribute): Reset above if module procedure is encountered. (gfc_dump_module): Set above and exit without writing smod file if it reset. * gfortran.texi : Add section on submodule support. 2015-09-17 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 * gfortran.dg/public_private_module_5.f90: Add module procedure trigger_smod to ensure that the smod file is written. From-SVN: r227855
Paul Thomas committed -
gcc/ * config/aarch64/aarch64.md (copysigndf3): New. (copysignsf3): Likewise. gcc/testsuite/ * gcc.target/aarch64/copysign_1.c: New. * gcc.target/aarch64/copysign_2.c: New. From-SVN: r227849
James Greenhalgh committed -
gcc/ * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare. * config/sparc/sparc.c (sparc_secondary_memory_needed): New function. * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it. (HARD_REGNO_CALLER_SAVE_MODE): Define. * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44) (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi) (embmedany_losum, embmedany_brsum, embmedany_textuhi) (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not provide when flag_pic. From-SVN: r227847
David S. Miller committed -
2015-09-17 Richard Biener <rguenther@suse.de> * cp-tree.h (note_decl_for_pch): Remove. * class.c (build_clone): Do not call note_decl_for_pch. * semantics.c (finish_member_declaration): Likewise. (note_decl_for_pch): Remove. * decl2.c (c_parse_final_cleanups): Mangle all globals before writing the PCH. From-SVN: r227846
Richard Biener committed -
* config/sh/sh.c (label_ref_list_d_pool): Adjust to object_allocator change. From-SVN: r227845
Kaz Kojima committed -
re PR tree-optimization/66388 (Test gcc.target/i386/pr49781-1.c failed because of recent scev overflow patches.) PR tree-optimization/66388 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields. (dump_iv): Dump no_overflow information. (alloc_iv): Initialize new field for struct iv. (mark_bivs): Count number of no_overflow bivs. (find_deriving_biv_for_expr, record_biv_for_address_use): New functions. (idx_find_step): Call new functions above. (add_candidate_1, add_candidate): New paramter. (add_iv_candidate_for_biv): Add sizetype cand for BIV. (get_computation_aff): Simplify convertion of cand for BIV. (get_computation_cost_at): Step cand's base if necessary. From-SVN: r227844
Bin Cheng committed -
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New parameter. (tree_simplify_using_condition): Ditto. (simplify_using_initial_conditions): Ditto. (loop_exits_before_overflow): Pass new argument to function simplify_using_initial_conditions. Remove case for type conversions simplification. * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New parameter. * tree-scalar-evolution.c (simple_iv): Simplify type conversions in iv base using loop initial conditions. gcc/testsuite/ChangeLog * gcc.dg/tree-ssa/loop-bound-2.c: New test. * gcc.dg/tree-ssa/loop-bound-4.c: New test. * gcc.dg/tree-ssa/loop-bound-6.c: New test. From-SVN: r227843
Bin Cheng committed -
PR tree-optimization/47679 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos. (free_all_edge_infos): Use it. (allocate_edge_info): Free preexisting edge info data. (pass_dominator::execute): Set up initial edge info structures. (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to thread_across_edge. * tree-ssa-threadedge.c (thread_across_edge): Accept new argument. If non-null, then push/pop markers appropriately. * tree-ssa-threadedge.h (thread_across_edge): Update prototype. * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to thread-across_edge. From-SVN: r227842
Jeff Law committed -
gcc/ * config/ft32/ft32.c Fix the memory address space predicate. From-SVN: r227841
James Bowman committed -
From-SVN: r227840
GCC Administrator committed -
re PR target/67573 ([SH] wrong code generated for libstdc++-v3/src/c++11/cxx11-shim_facets.cc at -mlra) PR target/67573 * config/sh/sh.md: Add early clobber to scratch operand of *call_*pcrel insn_and_split so not to CSE scratch reg. From-SVN: r227837
Kaz Kojima committed
-
- 16 Sep, 2015 13 commits
-
-
PR libstdc++/67173 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION and PATH_MAX for _GLIBCXX_USE_REALPATH. * config.h.in: Regenerate. * configure: Regenerate. * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. * testsuite/experimental/filesystem/operations/canonical.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Add more tests. * testsuite/experimental/filesystem/operations/absolute.cc: Add test variables. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. From-SVN: r227836
Jonathan Wakely committed -
Unfortunately, toplev.c is a kitchen sink of things that do not belong anywhere in particular. For example, check_global_declarations is only used in cgraphunit.c. Moving it there allows us to make it static and remove one call to symtab_node::get. gcc/ChangeLog: 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org> * toplev.h (check_global_declaration): Remove declaration. * toplev.c (check_global_declaration): Move to ... * cgraphunit.c: ... here. Make it static and pass a symtab_node *. (analyze_functions): Update call. From-SVN: r227835
Manuel López-Ibáñez committed -
Fixes golang/go#12320. Reviewed-on: https://go-review.googlesource.com/13932 From-SVN: r227834
Ian Lance Taylor committed -
gcc/ * lra-constraints.c (simplify_operand_subreg): Do not assume that lowpart of a SUBREG has offset zero. From-SVN: r227833
David S. Miller committed -
2015-09-16 John Marino <gnugcc@marino.st> * gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly. From-SVN: r227832
John Marino committed -
PR tree-optimization/47679 * tree-ssa-dom.c (enum expr_kind): Moved from here to tree-ssa-scopedtables.h. (struct hashable_expr, class expr_hash_elt): Likewise. (struct expr_elt_hasher, class avail_exprs_stack): Likewise. Move associated methods into tree-ssa-scopedtables.c. (avail_expr_hash, initialize_expr_from_cond): Similarly. (hashable_expr_equal_p, add_expr_commutative): Likewise. (add_hashable_expr): Likewise. (record_cond): Delete element directly. * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add private copy ctor and assignment operator methods. (expr_elt_hasher): Inline trivial methods. (initialize_expr_from_cond): Prototype. * tree-ssa-scopedtables.c: Add necessary includes, functions and methods that were previously in tree-ssa-dom.c. Improve various comments. From-SVN: r227831
Jeff Law committed -
Fixes golang/go#11548. Reviewed-on: https://go-review.googlesource.com/13794 From-SVN: r227830
Ian Lance Taylor committed -
2015-09-16 Paolo Carlini <paolo.carlini@oracle.com> * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation. From-SVN: r227828
Paolo Carlini committed -
With the new shrink-wrap algorithm, blocks reachable both with and without prologue are duplicated, and their incoming edges are then distributed accordingly. So we need to call fixup_partitions. 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org> PR bootstrap/67587 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call fixup_partitions. From-SVN: r227827
Segher Boessenkool committed -
2015-09-16 Richard Biener <rguenther@suse.de> PR middle-end/67253 * cfgexpand.c (expand_gimple_stmt_1): Do not clobber location of possibly shared trees. * gcc.dg/torture/pr67253.c: New testcase. From-SVN: r227826
Richard Biener committed -
2015-09-16 Richard Biener <rguenther@suse.de> PR middle-end/67271 * fold-const.c (native_encode_expr): Bail out on bogus offsets. * gcc.dg/pr67271.c: New testcase. From-SVN: r227825
Richard Biener committed -
tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for offset and size computations instead of HOST_WIDE_INT. * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for offset and size computations instead of HOST_WIDE_INT. From-SVN: r227819
Eric Botcazou committed -
re PR middle-end/67442 (GCC 5.2.0 on x86_64 creates invalid address on specific array index calculation through pointer) 2015-09-16 Richard Biener <rguenther@suse.de> PR middle-end/67442 * fold-const.c (extract_muldiv_1): Properly extend multiplication result before builting a tree via wide_int_to_tree. * gcc.dg/torture/pr67442.c: New testcase. From-SVN: r227818
Richard Biener committed
-