- 22 Oct, 2016 3 commits
-
-
* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): Ignore symlink_nofollow flag if file is not a symlink. * testsuite/experimental/filesystem/operations/permissions.cc: Test symlink_nofollow on non-symlinks. From-SVN: r241438
Jonathan Wakely committed -
2016-10-21 Andrew Pinski <apinski@cavium.com> * config/aarch64/aarch64-cores.def: Rewrite so IMP and PART are integer constants. * config/aarch64/driver-aarch64.c (struct aarch64_core_data): Change implementer_id to unsigned char. Change part_no to unsigned int. (AARCH64_BIG_LITTLE): New define. (INVALID_IMP): New define. (INVALID_CORE): New define. (cpu_data): Change the last element's implementer_id and part_no to integers. (valid_bL_string_p): Rewrite to .. (valid_bL_core_p): this for integers instead of strings. (parse_field): New function. (contains_string_p): Rewrite to ... (contains_core_p): this for integers and only for the part_no. (host_detect_local_cpu): Rewrite handling of implementation and par num to be integers; simplifying the code. From-SVN: r241437
Andrew Pinski committed -
From-SVN: r241436
GCC Administrator committed
-
- 21 Oct, 2016 37 commits
-
-
The constants named c0 and c1 turn up as macros in runtime.inc. This reportedly breaks building on Solaris 11, where there is a system struct that has a field named c1. The constants aren't needed by the runtime C code, so avoid the problem by grepping them out. Reviewed-on: https://go-review.googlesource.com/31730 From-SVN: r241432
Ian Lance Taylor committed -
Verified by testing on SPARC Solaris. Reviewed-on: https://go-review.googlesource.com/31675 From-SVN: r241430
Ian Lance Taylor committed -
* PR tree-optimization/71947 * gcc.dg/tree-ssa/pr71947-4.c: Avoid x86 opcode. * gcc.dg/tree-ssa/pr71947-5.c: Likewise. * gcc.dg/tree-ssa/pr71947-6.c: Make it opt-in rather than opt-out. From-SVN: r241429
Jeff Law committed -
ADDR_EXPR and nonnull gcc/ChangeLog: 2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org> * ipa-prop.c (ipa_compute_jump_functions_for_edge): Create nonzero value range for pointers in more cases. gcc/testsuite/ChangeLog: 2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org> * gcc.dg/ipa/vrp5.c: New test. * gcc.dg/ipa/vrp6.c: New test. From-SVN: r241428
Kugan Vivekanandarajah committed -
Note that lfstack_64bit.go was modified for Solaris support in a different, and better, way than the superseded lfstack.goc code. Reviewed-on: https://go-review.googlesource.com/31673 From-SVN: r241427
Ian Lance Taylor committed -
PR c++/77656 * pt.c (convert_template_argument): Call convert_nontype_argument on value-dependent but not type-dependent arguments. (convert_nontype_argument): Handle value-dependent arguments. (canonicalize_expr_argument): New. (deducible_expression, unify): Skip CONVERT_EXPR. * error.c (dump_template_argument): Likewise. * mangle.c (write_expression): Likewise. From-SVN: r241425
Jason Merrill committed -
From-SVN: r241424
Jason Merrill committed -
2016-10-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/78055 * io/io.h (st_parameter_dt): Restore GFC_IO_INT to maintain alignment. From-SVN: r241422
Jerry DeLisle committed -
testsuite/ * gcc.target/aarch64/test_frame_17.c: New test. From-SVN: r241421
Wilco Dijkstra committed -
Improve stack adjustment by reusing a temporary move immediate from the epilog if the register is still valid in the epilog. This generates smaller code for leaf functions with a stack size of more then 4KB. gcc/ * config/aarch64/aarch64.c (aarch64_add_constant_internal): Add extra argument to allow emitting the move immediate. Use add/sub with positive immediate. (aarch64_add_constant): Add inline function. (aarch64_add_sp): Likewise. (aarch64_sub_sp): Likewise. (aarch64_expand_prologue): Call aarch64_sub_sp. (aarch64_expand_epilogue): Call aarch64_add_sp. Decide when to leave out move. (aarch64_output_mi_thunk): Call aarch64_add_constant. testsuite/ * gcc.target/aarch64/test_frame_17.c: New test. From-SVN: r241420
Wilco Dijkstra committed -
If the number of integer callee-saves is odd, any FP callee-saves use 8-byte aligned LDP/STP. Since 16-byte alignment may be faster on some CPUs, align the FP callee-saves to 16 bytes and use the alignment gap for the last FP callee-save when possible. gcc/ * config/aarch64/aarch64.c (aarch64_layout_frame): Align FP callee-saves. From-SVN: r241419
Wilco Dijkstra committed -
* include/experimental/bits/fs_fwd.h (perms::resolve_symlinks): Replace with symlink_nofollow (LWG 2720). * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): Handle symlink_nofollow. * testsuite/experimental/filesystem/operations/create_symlink.cc: New test. * testsuite/experimental/filesystem/operations/permissions.cc: Test overload taking error_code. From-SVN: r241418
Jonathan Wakely committed -
* include/experimental/bits/fs_ops.h (exists(const path&, error_code&)): Clear error if status is known (LWG 2725). (status(const path&, error_code&)): Handle EOVERFLOW. * testsuite/experimental/filesystem/operations/exists.cc: Test overload taking an error_code. From-SVN: r241417
Jonathan Wakely committed -
* include/experimental/bits/fs_path.h (path::path(string_type&&)) (path::operator=(string&&), path::assign(string_type&&)): Define construction and assignment from string_type rvalues (LWG 2707). From-SVN: r241416
Jonathan Wakely committed -
2016-10-21 Andris Pavenis <andris.pavenis@iki.fi> PR preprocessor/71681 * gcc.dg/cpp/pr71681-1.c: New testcase * gcc.dg/cpp/pr71681-2.c: Likewise * gcc.dg/cpp/remap/header.gcc: File for added test-cases * gcc.dg/cpp/remap/a/header.gcc: Likewise * gcc.dg/cpp/remap/a/t_1.h: Likewise * gcc.dg/cpp/remap/a/t_2.h: Likewise From-SVN: r241415
Andris Pavenis committed -
2016-10-21 Eelis van der Weegen <eelis@eelis.net> * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out of shuffle into new function. (shuffle): Call __gen_two_uniform_ints. (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use __gen_two_uniform_ints and perform two samples at a time. From-SVN: r241414
Eelis van der Weegen committed -
2016-10-21 Andris Pavenis <andris.pavenis@iki.fi> PR preprocessor/71681 * files.c (remap_filename): Fix handling -remap in subdirectories. From-SVN: r241413
Andris Pavenis committed -
* config/i386/adxintrin.h (_subborrow_u32, _addcarry_u32, _addcarryx_u32, _subborrow_u64, _addcarry_u64, _addcarryx_u64): Formatting fixes. * config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step, _rdseed64_step): Likewise. * config/i386/tbmintrin.h (__bextri_u32): Likewise. From-SVN: r241412
Jakub Jelinek committed -
PR target/78057 * config/i386/i386.c: Include fold-const-call.h, tree-vrp.h and tree-ssanames.h. (ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64} with INTEGER_CST argument. (ix86_gimple_fold_builtin): New function. (TARGET_GIMPLE_FOLD_BUILTIN): Define. * gcc.target/i386/pr78057.c: New test. From-SVN: r241411
Jakub Jelinek committed -
* include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>. Order alphabetically. * include/Makefile.in: Regenerate. * include/bits/refwrap.h: New header. (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type) (_Reference_wrapper_base_impl, _Reference_wrapper_base) (reference_wrapper, ref, cref): Move here from <functional>. * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and <bits/stl_function.h> instead of <functional>. * include/bits/std_function.h: New header. (_Maybe_unary_or_binary_function, bad_function_call) (__is_location_invariant, _Nocopy_types, _Any_data) (_Simple_type_wrapper, _Function_base, _Function_handler, function): Move here from <functional>. * include/bits/unique_ptr.h: Include <bits/stl_function.h>. * include/std/functional: Include new headers and move components to them. * include/std/future: Include <bits/std_function.h> instead of <functional>. * include/std/mutex: Likewise. * include/std/regex: Likewise. * src/c++11/compatibility-thread-c++0x.cc: Include <functional>. * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line. * testsuite/20_util/default_delete/void_neg.cc: Likewise. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error lines. * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. * testsuite/30_threads/packaged_task/49668.cc: Include <functional>. From-SVN: r241410
Jonathan Wakely committed -
* dwarf2out.c (ranges_table): Change into vec<dw_ranges, va_gc> *. (ranges_by_label): Change into vec<dw_ranges_by_label, va_gc> *. (ranges_table_allocated, ranges_table_in_use, ranges_by_label_allocated, ranges_by_label_in_use, RANGES_TABLE_INCREMENT): Removed. (add_ranges_num): Use vec_safe_push into ranges_table. (add_ranges_by_labels): Use vec_safe_push into ranges_by_label. (output_ranges): Adjust for ranges_table and ranges_by_label conversion from arrays to vec. (add_high_low_attributes, dwarf2out_finish): Adjust for range_table conversion from arrays to vec. (dwarf2out_c_finalize): Don't clear ranges_table_allocated, ranges_table_in_use, ranges_by_label_allocated and ranges_by_label_in_use. Set ranges_by_label to NULL instead of 0. From-SVN: r241409
Jakub Jelinek committed -
* dwarf2out.c (gen_variable_die): Emit DW_AT_const_expr attribute if needed. Re-add origin_die variable and its initialization. cp/ * cp-objcp-common.c (cp_decl_dwarf_attribute): Handle DW_AT_const_expr. testsuite/ * g++.dg/debug/dwarf2/constexpr-var-1.C: New test. From-SVN: r241408
Jakub Jelinek committed -
gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns even for -fstack-reuse=none, or for volatile vars etc. * gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns even for -fstack-reuse=none, or for volatile vars etc. From-SVN: r241407
Jakub Jelinek committed -
gcc/ChangeLog: * print-rtl-function.c (flag_compact): Move extern decl to... * print-rtl.h (flag_compact): ...here. * rtl-tests.c (selftests::assert_rtl_dump_eq): New function. (ASSERT_RTL_DUMP_EQ): New macro. (selftest::test_dumping_regs): New function. (selftest::test_dumping_insns): New function. (selftest::test_uncond_jump): Add uses of ASSERT_RTL_DUMP_EQ on the insns. (selftest::rtl_tests_c_tests): Call the new test functions. From-SVN: r241405
David Malcolm committed -
* libsupc++/exception_ptr.h (make_exception_ptr): Qualify new. * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New test. From-SVN: r241404
Jonathan Wakely committed -
2016-10-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/69566 * resolve.c (fixup_array_ref): New function. (resolve_select_type): Gather up the rank and array reference, if any, from the selector. Fix up the 'associate name' and the 'associate entities' as necessary. * trans-expr.c (gfc_conv_class_to_class): If the symbol backend decl is a FUNCTION_DECL, use the 'fake_result_decl' instead. 2016-10-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/69566 * gfortran.dg/select_type_37.f03: New test. From-SVN: r241403
Paul Thomas committed -
gcc/ChangeLog: 2016-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust. (outgoing_edges_match): Likewise. (try_crossjump_to_edge): Likewise. * cfgrtl.c (try_redirect_by_replacing_jump): Likewise. (rtl_tidy_fallthru_edge): Likewise. * rtl.h (tablejump_p): Adjust prototype. * rtlanal.c (tablejump_p): Return the label as a rtx_insn *. From-SVN: r241402
Trevor Saunders committed -
While changing LABEL_REF_LABEL it might as well become an inline function, so that its clearer what types are involved. Unfortunately because it is still possible to use XEXP and related macros on a LABEL_REF rtx you can still set the field to be a non insn rtx. The other unfortunate thing is that the generators actually create LABEL_REF rtx that refer to MATCH_x rtx, so there we actually need to use XEXP to bypass the checking this patch adds. gcc/ChangeLog: 2016-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * rtl.h (label_ref_label): New function. (set_label_ref_label): New function. (LABEL_REF_LABEL): Delete. * alias.c (rtx_equal_for_memref_p): Adjust. * cfgbuild.c (make_edges): Likewise. (purge_dead_tablejump_edges): Likewise. * cfgexpand.c (convert_debug_memory_address): Likewise. * cfgrtl.c (patch_jump_insn): Likewise. * combine.c (distribute_notes): Likewise. * cse.c (hash_rtx_cb): Likewise. (exp_equiv_p): Likewise. (fold_rtx): Likewise. (check_for_label_ref): Likewise. * cselib.c (rtx_equal_for_cselib_1): Likewise. (cselib_hash_rtx): Likewise. * emit-rtl.c (mark_label_nuses): Likewise. * explow.c (convert_memory_address_addr_space_1): Likewise. * final.c (output_asm_label): Likewise. (output_addr_const): Likewise. * gcse.c (add_label_notes): Likewise. * genconfig.c (walk_insn_part): Likewise. * genrecog.c (validate_pattern): Likewise. * ifcvt.c (cond_exec_get_condition): Likewise. (noce_emit_store_flag): Likewise. (noce_get_alt_condition): Likewise. (noce_get_condition): Likewise. * jump.c (maybe_propagate_label_ref): Likewise. (mark_jump_label_1): Likewise. (redirect_exp_1): Likewise. (rtx_renumbered_equal_p): Likewise. * lra-constraints.c (operands_match_p): Likewise. * print-rtl.c (print_value): Likewise. * reload.c (find_reloads): Likewise. * reload1.c (set_label_offsets): Likewise. * reorg.c (get_branch_condition): Likewise. * rtl-tests.c (test_uncond_jump): Likewise. * rtl.c (rtx_equal_p_cb): Likewise. (rtx_equal_p): Likewise. * rtlanal.c (reg_mentioned_p): Likewise. (rtx_referenced_p): Likewise. (get_condition): Likewise. * varasm.c (const_hash_1): Likewise. (compare_constant): Likewise. (const_rtx_hash_1): Likewise. (output_constant_pool_1): Likewise. From-SVN: r241401
Trevor Saunders committed -
Tweak find_valid_class_1 to consider a reg class if atleast one regno in that class is ok. Previously, even if no regno was in_hard_reg_set_p, the code goes ahead and considers rclass as valid. bad was set only if a regno was in the reg class *and* HARD_REGNO_MODE_OK was false - if both were false, bad wasn't set and the reload got a wrong rclass. If that happened to be the best one, this eventually lead to find_reg running out of registers to spill, because the chosen rclass wouldn't have enough regs. Also, it expected every regno in rclass to be valid for mode i.e., if any regno fails HARD_REGNO_MODE_OK, it rejected the rclass. The comments in the original commit for find_valid_class_1 say atleast one regno is ok. This was updated to say "class which contains only registers" when in_hard_reg_set_p was introduced in place of just TEST_HARD_REG_BIT. This commit fixes both of the above problems by not breaking out of the loop on first unavailable regno. Instead, it computes the rclass size consisting of all regnos in that class valid for the current mode. If that computed size is zero, the rclass would be skipped, as it won't beat best_size. Otherwise, the computed size is used to choose the best rclass, instead of the static size from reg_class_size. gcc/ 2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/71627 * reload.c (find_valid_class_1): Allow regclass if atleast one regno in regclass is ok. Compute and use rclass size based on actually available regnos for mode in rclass. gcc/testsuite/ 2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/71627 * gcc.target/avr/pr71627.c: New test From-SVN: r241400
Senthil Kumar Selvaraj committed -
* MAINTAINERS: Update email address Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com> From-SVN: r241399
Hartmut Penner committed -
* tree-ssa-loop-split.c: Remove trailing spaces. * match.pd: Likewise. From-SVN: r241398
Eric Botcazou committed -
* config/sparc/sparc-modes.def (CCV): New. (CCXV): Likewise. * config/sparc/predicates.md (v_comparison_operator): New. (icc_comparison_operator): Add support for CCV/CCXV. (xcc_comparison_operator): Likewise. * config/sparc/sparc.c (output_cbranch): Likewise. (sparc_print_operand): Likewise. * config/sparc/sparc.md (UNSPEC_{ADD,SUB,NEG}V): New constants. (uaddvdi4): New expander. (addvdi4): Likewise. (uaddvdi4_sp32): New instruction. (addvdi4_sp32): Likewise. (uaddvsi4): New expander. (addvsi4): Likewise. (cmp_ccc_plus_sltu_set): New instruction. (cmp_ccv_plus): Likewise. (cmp_ccxv_plus): Likewise. (cmp_ccv_plus_set): Likewise. (cmp_ccxv_plus_set): Likewise. (cmp_ccv_plus_sltu_set): Likewise. (uaddvdi4): New expander. (subvdi4): Likewise. (usubdi4_sp32): New instruction. (subvdi4_sp32): Likewise. (usubvsi4): New expander. (subvsi4): Likewise. (cmpsi_minus_sltu_set): New instruction. (cmp_ccv_minus): Likewise. (cmp_ccxv_minus): Likewise. (cmp_ccv_minus_set): Likewise. (cmp_ccxv_minus_set): Likewise. (cmp_ccv_minus_sltu_set): Likewise. (unegvdi3): New expander. (negvdi3): Likewise. (unegdi3_sp32): New instruction. (negvdi3_sp32): Likewise. (unegvsi3): New expander. (negvsi3): Likewise. (cmp_ccc_neg_sltu_set): New instruction. (cmp_ccv_neg): Likewise. (cmp_ccxv_neg): Likewise. (cmp_ccv_neg_set): Likewise. (cmp_ccxv_neg_set): Likewise. (cmp_ccv_neg_sltu_set): Likewise. From-SVN: r241397
Eric Botcazou committed -
2016-10-21 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.target/arm/pure-code/pure-code.exp: Require arm_cortex_m effective target. From-SVN: r241396
Andre Vieira committed -
PR rtl-optimization/78038 * ree.c (get_defs): Return NULL if a defining insn for REG cannot be deduced to set REG through the RTL structure. (make_defs_and_copies_lists): Return false on a failing get_defs call. * gcc.target/aarch64/pr78038.c: New test. From-SVN: r241395
Kyrylo Tkachov committed -
2016-10-21 Richard Biener <rguenther@suse.de> PR tree-optimization/78051 * tree-vrp.c (evrp_dom_walker::before_dom_children): Update stmt and mark replaced if folding did something. * g++.dg/torture/pr78051.C: New testcase. From-SVN: r241394
Richard Biener committed -
* config/rs6000/rs6000.c (rs6000_assemble_visibility): Swap "internal" and "protected" in visibility types. (rs6000_xcoff_declare_function_name): Fix formatting. (rs6000_xcoff_declare_object_name): Fix formatting. From-SVN: r241393
David Edelsohn committed -
2016-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> * io/transfer.c (finalize_transfer): Free format data in child procedures. (st_read_done, st_write_done): Don't free format hash table. From-SVN: r241392
Jerry DeLisle committed
-