aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-10-23re PR fortran/69834 ([OOP] Collision in derived type hashes)Paul Thomas11-34/+360
2016-10-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/69834 * class.c (gfc_find_derived_vtab): Obtain the gsymbol for the derived type's module. If the gsymbol is present and the top level namespace corresponds to a module, use the gsymbol name space. In the search to see if the vtable exists, try the gsym namespace first. * dump-parse-tree (show_code_node): Modify select case dump to show select type construct. * resolve.c (build_loc_call): New function. (resolve_select_type): Add check for repeated type is cases. Retain selector expression and use it later instead of expr1. Exclude deferred length TYPE IS cases and emit error message. Store the address for the vtable in the 'low' expression and the hash value in the 'high' expression, for each case. Do not call resolve_select. * trans.c(trans_code) : Call gfc_trans_select_type. * trans-stmt.c (gfc_trans_select_type_cases): New function. (gfc_trans_select_type): New function. * trans-stmt.h : Add prototype for gfc_trans_select_type. 2016-10-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/69834 * gfortran.dg/select_type_1.f03: Change error for overlapping TYPE IS cases. * gfortran.dg/select_type_36.f03: New test. From-SVN: r241450
2016-10-23sparc-c.c (sparc_target_macros): Replace TARGET_64BIT with TARGET_ARCH64.Eric Botcazou2-2/+7
* config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4. From-SVN: r241446
2016-10-232016-10-22 François Dumont <fdumont@gcc.gnu.org>François Dumont2-23/+15
* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO) (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION. (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER): Likewise. From-SVN: r241445
2016-10-23Daily bump.GCC Administrator1-1/+1
From-SVN: r241444
2016-10-22* gcc.dg/tree-ssa/pr71347.c: Remove XFAIL on SPARC.Eric Botcazou2-2/+5
From-SVN: r241441
2016-10-22re PR fortran/78021 (Wrong result with optimization on character constant)Thomas Koenig4-3/+50
2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78021 * gfc_compare_functions: Strings with different lengths in argument lists compare unequal. 2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78021 * gfortran.dg/string_length_3.f90: New test. From-SVN: r241440
2016-10-22re PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable)Andre Vehreschild15-435/+904
gcc/fortran/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/51864 PR fortran/57117 PR fortran/61337 PR fortran/61376 * primary.c (gfc_expr_attr): For transformational functions on classes get the attrs from the class argument. * resolve.c (resolve_ordinary_assign): Remove error message due to feature implementation. Rewrite POINTER_ASSIGNS to ordinary ones when the right-hand side is scalar class object (with some restrictions). * trans-array.c (trans_array_constructor): Create the temporary from class' inner type, i.e., the derived type. (build_class_array_ref): Add support for class array's storage of the class object or the array descriptor in the decl saved descriptor. (gfc_conv_expr_descriptor): When creating temporaries for class objects add the class object's handle into the decl saved descriptor. (structure_alloc_comps): Use the common way to get the _data component. (gfc_is_reallocatable_lhs): Add notion of allocatable class objects. * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref only when the expression's type is BT_CLASS. (gfc_trans_class_init_assign): Correctly handle class arrays. (gfc_trans_class_assign): Joined into gfc_trans_assignment_1. (gfc_conv_procedure_call): Support for class types as arguments. (trans_get_upoly_len): For unlimited polymorphics retrieve the _len component's tree. (trans_class_vptr_len_assignment): Catch all ways to assign the _vptr and _len components of a class object correctly. (pointer_assignment_is_proc_pointer): Identify assignments of procedure pointers. (gfc_trans_pointer_assignment): Enhance support for class object pointer assignments. (gfc_trans_scalar_assign): Removed assert. (trans_class_assignment): Assign to a class object. (gfc_trans_assignment_1): Treat class objects correctly. (gfc_trans_assignment): Propagate flags to trans_assignment_1. * trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now instead of copy_class_to_class. * trans-stmt.h: Function prototype removed. * trans.c (trans_code): Less special casing for class objects. * trans.h: Added flags to gfc_trans_assignment () prototype. gcc/testsuite/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> Forgot to add on original commit. * gfortran.dg/coarray_alloc_comp_2.f08: New test. 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/57117 PR fortran/61337 * gfortran.dg/alloc_comp_class_5.f03: New test. * gfortran.dg/class_allocate_21.f90: New test. * gfortran.dg/class_allocate_22.f90: New test. * gfortran.dg/realloc_on_assign_27.f08: New test. From-SVN: r241439
2016-10-22Ignore perms::symlink_nofollow on non-symlinksJonathan Wakely3-7/+42
* 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
2016-10-21aarch64-cores.def: Rewrite so IMP and PART are integer constants.Andrew Pinski3-65/+95
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
2016-10-22Daily bump.GCC Administrator1-1/+1
From-SVN: r241436
2016-10-21libgo: keep c0 and c1 out of runtime.incIan Lance Taylor3-3/+3
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
2016-10-21libgo: leave Int64Align as 8 on 32-bit SPARCIan Lance Taylor3-3/+1
Verified by testing on SPARC Solaris. Reviewed-on: https://go-review.googlesource.com/31675 From-SVN: r241430
2016-10-21re PR tree-optimization/71947 (x ^ y not folded to 0 if x == y by DOM)Jeff Law4-3/+11
* 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
2016-10-21ADDR_EXPR and nonnullKugan Vivekanandarajah5-0/+86
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
2016-10-21runtime: copy lfstack code from Go 1.7 runtimeIan Lance Taylor9-119/+88
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
2016-10-21re PR c++/77656 (64-bit integral template parameter gets incorrectly sized ↵Jason Merrill7-38/+94
as 32-bits) 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
2016-10-21* ptree.c (cxx_print_xnode) [TEMPLATE_PARM_INDEX]: Dump the decl.Jason Merrill2-0/+5
From-SVN: r241424
2016-10-21re PR libfortran/78055 (Many new gfortran test failures)Jerry DeLisle2-0/+7
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
2016-10-21Really add the test this time...Wilco Dijkstra2-0/+25
testsuite/ * gcc.target/aarch64/test_frame_17.c: New test. From-SVN: r241421
2016-10-21Improve stack adjustment by reusing a temporary move immediate from the ↵Wilco Dijkstra3-25/+68
epilog... 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
2016-10-21If the number of integer callee-saves is odd, any FP callee-saves use 8-byte ↵Wilco Dijkstra2-2/+22
aligned LDP/STP. 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
2016-10-21LWG2720 implement filesystem::perms::symlink_nofollowJonathan Wakely5-6/+192
* 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
2016-10-21LWG2725 Fix error reporting for filesystem::existsJonathan Wakely4-8/+73
* 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
2016-10-21LWG2707 init filesystem::path from string_type&&Jonathan Wakely2-0/+20
* 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
2016-10-21re PR preprocessor/71681 (header.gcc file lookup is broken for -remap)Andris Pavenis7-0/+24
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
2016-10-21Optimize RNG use in std::sample selection samplingEelis van der Weegen2-8/+91
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
2016-10-21re PR preprocessor/71681 (header.gcc file lookup is broken for -remap)Andris Pavenis2-3/+14
2016-10-21 Andris Pavenis <andris.pavenis@iki.fi> PR preprocessor/71681 * files.c (remap_filename): Fix handling -remap in subdirectories. From-SVN: r241413
2016-10-21adxintrin.h (_subborrow_u32, [...]): Formatting fixes.Jakub Jelinek4-15/+22
* 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
2016-10-21re PR target/78057 (FAIL: gcc.target/i386/bmi-{4,5,6}.c)Jakub Jelinek4-0/+157
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
2016-10-21Split <functional> into smaller piecesJonathan Wakely17-1151/+1292
* 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
2016-10-21dwarf2out.c (ranges_table): Change into vec<dw_ranges, va_gc> *.Jakub Jelinek2-68/+39
* 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
2016-10-21dwarf2out.c (gen_variable_die): Emit DW_AT_const_expr attribute if needed.Jakub Jelinek6-1/+36
* 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
2016-10-21gimplify.c (gimplify_bind_expr): Handle oacc_declare_returns even for ↵Jakub Jelinek2-14/+22
-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
2016-10-21Start adding selftests for print_rtxDavid Malcolm4-2/+101
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
2016-10-21Use global operator new in std::make_exception_ptrJonathan Wakely3-4/+53
* libsupc++/exception_ptr.h (make_exception_ptr): Qualify new. * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New test. From-SVN: r241404
2016-10-21re PR fortran/69566 ([OOP] Failure of SELECT TYPE with unlimited polymorphic ↵Paul Thomas5-1/+181
function result) 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
2016-10-21make tablejump_p return the label as a rtx_insn *Trevor Saunders5-25/+34
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
2016-10-21make LABEL_REF_LABEL a rtx_insn *Trevor Saunders26-75/+134
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
2016-10-21Fix PR 71627 - unable to find a register to spillSenthil Kumar Selvaraj4-12/+36
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
2016-10-21MAINTAINERS: Update email addressHartmut Penner2-1/+6
* MAINTAINERS: Update email address Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com> From-SVN: r241399
2016-10-21tree-ssa-loop-split.c: Remove trailing spaces.Eric Botcazou3-4/+7
* tree-ssa-loop-split.c: Remove trailing spaces. * match.pd: Likewise. From-SVN: r241398
2016-10-21sparc-modes.def (CCV): New.Eric Botcazou9-6/+879
* 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
2016-10-21pure-code.exp: Require arm_cortex_m effective target.Andre Vieira2-1/+6
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
2016-10-21[ree] PR rtl-optimization/78038: Handle global register dataflow definitions ↵Kyrylo Tkachov4-1/+49
in ree 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
2016-10-21re PR c++/78051 (error: dead STMT in EH table when using -O2)Richard Biener4-1/+25
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
2016-10-20rs6000.c (rs6000_assemble_visibility): Swap "internal" and "protected" in ↵David Edelsohn2-4/+14
visibility types. * 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
2016-10-21transfer.c (finalize_transfer): Free format data in child procedures.Jerry DeLisle2-5/+16
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
2016-10-21Daily bump.GCC Administrator1-1/+1
From-SVN: r241391
2016-10-20array.c (gfc_match_array_constructor): Remove set, but unused variable.Steven G. Kargl2-2/+7
2016-10-20 Steven G. Kargl <kargl@gcc.gnu.org> * array.c (gfc_match_array_constructor): Remove set, but unused variable. From-SVN: r241388
2016-10-21i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ and ↵Uros Bizjak2-18/+15
IX86_BUILTIN_HUGE_VALQ here ... * config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ and IX86_BUILTIN_HUGE_VALQ here ... (ix86_expand_builtin): ... not here. From-SVN: r241387