- 14 Feb, 2018 19 commits
-
-
gcc/ChangeLog: PR tree-optimization/83698 * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): For arrays constrain the offset range to their bounds. (builtin_access::strcat_overlap): Adjust the bounds of overlap offset. (builtin_access::overlap): Avoid setting the size of overlap if it's already been set. (maybe_diag_overlap): Also consider arrays when deciding what values of offsets to include in diagnostics. gcc/testsuite/ChangeLog: PR tree-optimization/83698 * gcc.dg/Wrestrict-7.c: New test. * c-c++-common/Wrestrict.c: Adjust expected values for strcat. * gcc.target/i386/chkp-stropt-17.c: Same. From-SVN: r257676
Martin Sebor committed -
2018-02-14 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-4-int128-runnable.c (dg-require-effective-target): Change vsx_hw to p8vector_hw. (dg-options): Change -maltivec -mvsx to -mpower8-vector. From-SVN: r257675
Carl Love committed -
gcc/ChangeLog: PR c/84108 * attribs.c (diag_attr_exclusions): Consider the exclusion(s) that correspond to the kind of a declaration. gcc/testsuite/ChangeLog: PR c/84108 * gcc.dg/Wattributes-8.c: New test. From-SVN: r257674
Martin Sebor committed -
2018-02-14 Janus Weil <janus@gcc.gnu.org> PR fortran/84385 * match.c (gfc_match_select_type): Fix check for selector in SELECT TYPE statement. 2018-02-14 Janus Weil <janus@gcc.gnu.org> PR fortran/84385 * gfortran.dg/allocate_with_source_22.f03: Fix invalid test case. * gfortran.dg/allocate_with_source_23.f90: Ditto. * gfortran.dg/select_type_1.f03: Extend test case. From-SVN: r257673
Janus Weil committed -
PR target/83984 * config/pa/pa.md: Load address of PIC label using the linkage table if the label is nonlocal. From-SVN: r257672
John David Anglin committed -
* gcc.target/i386/pr57193.c (dg-do): Remove target selector. (dg-options): Use -O2 -msse2 -mno-sse3. From-SVN: r257669
Uros Bizjak committed -
gcc/ChangeLog: 2018-02-14 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_option_override_internal): Issue warning message if user requests -maltivec=be. * doc/invoke.texi: Document deprecation of -maltivec=be. gcc/testsuite/ChangeLog: 2018-02-14 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.dg/vmx/extract-be-order.c: Disable -maltivec=be warning so this test case still works ok. * gcc.dg/vmx/extract-vsx-be-order.c: Likewise. * gcc.dg/vmx/insert-be-order.c: Likewise. * gcc.dg/vmx/insert-vsx-be-order.c: Likewise. * gcc.dg/vmx/ld-be-order.c: Likewise. * gcc.dg/vmx/ld-vsx-be-order.c: Likewise. * gcc.dg/vmx/lde-be-order.c: Likewise. * gcc.dg/vmx/ldl-be-order.c: Likewise. * gcc.dg/vmx/ldl-vsx-be-order.c: Likewise. * gcc.dg/vmx/merge-be-order.c: Likewise. * gcc.dg/vmx/merge-vsx-be-order.c: Likewise. * gcc.dg/vmx/mult-even-odd-be-order.c: Likewise. * gcc.dg/vmx/pack-be-order.c: Likewise. * gcc.dg/vmx/perm-be-order.c: Likewise. * gcc.dg/vmx/splat-be-order.c: Likewise. * gcc.dg/vmx/splat-vsx-be-order.c: Likewise. * gcc.dg/vmx/st-be-order.c: Likewise. * gcc.dg/vmx/st-vsx-be-order.c: Likewise. * gcc.dg/vmx/ste-be-order.c: Likewise. * gcc.dg/vmx/stl-be-order.c: Likewise. * gcc.dg/vmx/stl-vsx-be-order.c: Likewise. * gcc.dg/vmx/sum2s-be-order.c: Likewise. * gcc.dg/vmx/unpack-be-order.c: Likewise. * gcc.dg/vmx/vsums-be-order.c: Likewise. * gcc.target/powerpc/vec-setup-be-long.c: Likewise. From-SVN: r257668
Kelvin Nilsen committed -
/cp 2018-02-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84350 * pt.c (do_auto_deduction): Don't check the TREE_TYPE of a null init, early return. /testsuite 2018-02-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84350 * g++.dg/cpp0x/auto49.C: New. From-SVN: r257666
Paolo Carlini committed -
https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00850.html gcc/cp/ * decl2.c (mark_vtable_entries): Set input_location to decl's. (c_parse_final_cleanups): Restore input_location after emitting vtables. gcc/testsuite/ * g++.dg/template/instantiate5.C: Adjust required-from loc. From-SVN: r257665
Nathan Sidwell committed -
[testsuite] 2018-02-14 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/altivec-consts.c: Update compile stanzas. * gcc.target/powerpc/le-altivec-consts.c: Same. From-SVN: r257664
Will Schmidt committed -
[gcc] 2018-02-14 Will Schmidt <will_schmidt@vnet.ibm.com> PR target/84220 * config/rs6000/rs6000-c.c: Update definitions for ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SLDW, ALTIVEC_BUILTIN_VEC_XXPERMDI builtins. [testsuite] 2018-02-14 Will Schmidt <will_schmidt@vnet.ibm.com> PR target/84220 * gcc.target/powerpc/pr84220-sld.c: New test. * gcc.target/powerpc/pr84220-sld2.c: New test. * gcc.target/powerpc/pr84220-sldw.c: New test. * gcc.target/powerpc/pr84220-xxperm.c: New test. * gcc.target/powerpc/pr84220-xxsld.c: New test. From-SVN: r257662
Will Schmidt committed -
Introduce a couple of new CET intrinsics for reading and updating a shadow stack pointer (_get_ssp and _inc_ssp). They replace the existing _rdssp[d|q] and _incssp[d|q] instrinsics. PR target/84239 * gcc/config/i386/cetintrin.h: Remove _rdssp[d|q] and add _get_ssp intrinsics. Remove argument from __builtin_ia32_rdssp[d|q]. * gcc/config/i386/i386-builtin-types.def: Add UINT_FTYPE_VOID. * gcc/config/i386/i386-builtin.def: Remove argument from __builtin_ia32_rdssp[d|q]. * gcc/config/i386/i386.c: Use UINT_FTYPE_VOID. Use ix86_expand_special_args_builtin for _rdssp[d|q]. * gcc/config/i386/i386.md: Remove argument from rdssp[si|di] insn. Clear register before usage. * doc/extend.texi: Remove argument from __builtin_ia32_rdssp[d|q]. Add documentation for new _get_ssp and _inc_ssp intrinsics. * testsuite/gcc.target/i386/cet-intrin-3.c: Use new _get_ssp and _inc_ssp intrinsics. * testsuite/gcc.target/i386/cet-intrin-4.c: Likewise. * testsuite/gcc.target/i386/cet-rdssp-1.c: Remove argument from __builtin_ia32_rdssp[d|q]. * libgcc/config/i386/shadow-stack-unwind.hi (_Unwind_Frames_Extra): Use new _get_ssp and _inc_ssp intrinsics. From-SVN: r257660
Igor Tsimbalist committed -
2018-02-14 Paolo Carlini <paolo.carlini@oracle.com> * cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. (do_auto_deduction (tree, tree, tree, tsubst_flags_t, auto_deduction_context, tree, int): Add defaults. * pt.c (do_auto_deduction (tree, tree, tree)): Remove definition. (tsubst_omp_for_iterator): Adjust do_auto_deduction call, forward tsubst_flags_t argument. * init.c (build_new): Likewise. From-SVN: r257659
Paolo Carlini committed -
PR other/82368 * elf.c (EM_PPC64, EF_PPC64_ABI): Undefine and define. (struct elf_ppc64_opd_data): New type. (elf_initialize_syminfo): Add opd argument, handle symbols pointing into the PowerPC64 ELFv1 .opd section. (elf_add): Read .opd section on PowerPC64 ELFv1, pass pointer to structure with .opd data to elf_initialize_syminfo. From-SVN: r257658
Jakub Jelinek committed -
object_address_invariant_in_loop_p ignored ARRAY_REF indices on the basis that: /* Index of the ARRAY_REF was zeroed in analyze_indices, thus we only need to check the stride and the lower bound of the reference. */ That was true back in 2007 when the code was added: static void dr_analyze_indices (struct data_reference *dr, struct loop *nest) { [...] while (handled_component_p (aref)) { if (TREE_CODE (aref) == ARRAY_REF) { op = TREE_OPERAND (aref, 1); access_fn = analyze_scalar_evolution (loop, op); access_fn = resolve_mixers (nest, access_fn); VEC_safe_push (tree, heap, access_fns, access_fn); TREE_OPERAND (aref, 1) = build_int_cst (TREE_TYPE (op), 0); } aref = TREE_OPERAND (aref, 0); } but the assignment was removed a few years ago. We were therefore treating "two->arr[i]" and "three->arr[i]" as loop invariant. 2018-02-14 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84357 * tree-data-ref.c (object_address_invariant_in_loop_p): Check operand 1 of an ARRAY_REF too. gcc/testsuite/ PR tree-optimization/84357 * gcc.dg/vect/pr84357.c: New test. From-SVN: r257657
Richard Sandiford committed -
gcc/ PR target/83831 * config/rx/rx-protos.h (rx_reg_dead_or_unused_after_insn, rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New declarations. (set_of_reg): New struct. (rx_find_set_of_reg, rx_find_use_of_reg): New functions. * config/rx/rx.c (rx_reg_dead_or_unused_after_insn, rx_copy_reg_dead_or_unused_notes, rx_fuse_in_memory_bitop): New functions. * config/rx/rx.md (andsi3, iorsi3, xorsi3): Convert to insn_and_split. Split into bitclr, bitset, bitinvert patterns if appropriate. (*bitset, *bitinvert, *bitclr): Convert to named insn_and_split and use rx_fuse_in_memory_bitop. (*bitset_in_memory, *bitinvert_in_memory, *bitclr_in_memory): Convert to named insn, correct maximum insn length. gcc/testsuite/ PR target/83831 * gcc.target/rx/pr83831.c: New tests. From-SVN: r257655
Oleg Endo committed -
PR fortran/84313 * testsuite/libgomp.fortran/threadprivate4.f90: Add -std=f2003 -fall-intrinsics into dg-additional-options. From-SVN: r257654
Jakub Jelinek committed -
2018-02-14 Jozef Lawrynowicz <jozefl.gcc@gmail.com> PR target/79242 * machmode.def: Define a complex mode for PARTIAL_INT. * genmodes.c (complex_class): Return MODE_COMPLEX_INT for MODE_PARTIAL_INT. * doc/rtl.texi: Document CSPImode. * config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode handling. (msp430_hard_regno_nregs_with_padding): Likewise. PR target/79242 * gcc.target/msp430/pr79242.c: New test. From-SVN: r257653
Jozef Lawrynowicz committed -
From-SVN: r257651
GCC Administrator committed
-
- 13 Feb, 2018 21 commits
-
-
PR target/84372 * gcc.target/powerpc/lvsl-lvsr.c: Also match lxv when compiling with -mcpu=power9. From-SVN: r257648
Peter Bergner committed -
gcc/ PR target/84279 * config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses. gcc/testsuite/ PR target/84279 * g++.dg/pr84279.C: New test. From-SVN: r257647
Peter Bergner committed -
From-SVN: r257646
Jeff Law committed -
From-SVN: r257645
Jeff Law committed -
If there is a LOG_LINK between two insns, this means those two insns can be combined, as far as dataflow is concerned. There never should be a LOG_LINK between two unrelated insns. If there is one, combine will try to combine the insns without doing all the needed checks if the earlier destination is used before the later insn, etc. Unfortunately we do not update the LOG_LINKs correctly in some cases. This patch fixes at least some of those cases. PR rtl-optimization/84169 * combine.c (try_combine): New variable split_i2i3. Set it to true if we generated a parallel as new i3 and we split that to new i2 and i3 instructions. Handle split_i2i3 similar to swap_i2i3: scan the LOG_LINKs of i3 to see which of those need to link to i2 now. Link those to i2, not i1. Partially rewrite this scan code. gcc/testsuite/ PR rtl-optimization/84169 * gcc.c-torture/execute/pr84169.c: New. From-SVN: r257644
Segher Boessenkool committed -
re PR testsuite/84370 (Invalid option used in test case gcc.target/powerpc/builtins-3-p9-runnable.c) PR target/84370 * gcc.target/powerpc/builtins-3-p9-runnable.c: Remove deprecated option. From-SVN: r257642
Peter Bergner committed -
PR target/84365 * gcc.target/powerpc/altivec-7-le.c: Also match lxv when compiling with -mcpu=power9. From-SVN: r257641
Peter Bergner committed -
PR c++/84364 * typeck.c (check_return_expr): Don't emit -Weffc++ warning about return other than *this in assignment operators if retval is type dependent expression. * g++.dg/warn/effc4.C: New test. From-SVN: r257640
Jakub Jelinek committed -
From-SVN: r257639
Joseph Myers committed -
/cp 2018-02-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84333 * call.c (build_conditional_expr_1): Use cp_save_expr instead of save_expr for the G++ extension. /testsuite 2018-02-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84333 * g++.dg/template/sizeof16.C: New. * g++.dg/template/sizeof17.C: Likewise. From-SVN: r257638
Paolo Carlini committed -
They aren't needed, and could potentially cause unlikely symbol name collisions. Also, the runtime package's reference to main could cause the runtime package to define main.main..f, which could also be defined in the main package if it does something like fmt.Print(main). That will normally work but will fail with a multiple symbol definition error when using -static-libgo. Reviewed-on: https://go-review.googlesource.com/93656 From-SVN: r257637
Ian Lance Taylor committed -
2018-02-13 Janus Weil <janus@gcc.gnu.org> PR fortran/84313 * symbol.c (check_conflict): Reject procedure pointers in common blocks. 2018-02-13 Janus Weil <janus@gcc.gnu.org> PR fortran/84313 * gfortran.dg/proc_ptr_common_1.f90: Fix invalid test case, add necessary compiler options. * gfortran.dg/proc_ptr_common_2.f90: Add missing error message. From-SVN: r257636
Janus Weil committed -
re PR c/82210 (Having _Alignas in a struct with VLAs causes writing to one array to overwrite another) PR c/82210 * stor-layout.c (place_field): For variable length fields, adjust offset_align afterwards not just based on the field's alignment, but also on the size. * gcc.c-torture/execute/pr82210.c: New test. From-SVN: r257635
Jakub Jelinek committed -
PR middle-end/84309 * match.pd (pow(C,x) -> exp(log(C)*x)): Use exp2s and log2s instead of exps and logs in the use_exp2 case. * gcc.dg/pr84309-2.c: New test. From-SVN: r257634
Jakub Jelinek committed -
2018-02-13 Jeff Law <law@redhat.com> * config/rl/rl78.c (rl78_attribute_table): Fix terminator and entry for "vector". From-SVN: r257633
Jeff Law committed -
* config/rl78/rl78.c (rl78_handle_func_attribute): Mark ARGS as unused. From-SVN: r257632
Jeff Law committed -
* common.opt (gas-loc-support, gas-locview-support): New. (ginline-points, ginternal-reset-location-views): New. * doc/invoke.texi: Document them. Use @itemx where intended. (gvariable-location-views): Adjust. * target.def (reset_location_view): New. * doc/tm.texi.in (DWARF2_ASM_VIEW_DEBUG_INFO): New. (TARGET_RESET_LOCATION_VIEW): New. * doc/tm.texi: Rebuilt. * dwarf2out.c (dwarf2out_default_as_loc_support): New. (dwarf2out_default_as_locview_support): New. (output_asm_line_debug_info): Use option variables. (dwarf2out_maybe_output_loclist_view_pair): Likewise. (output_loc_list): Likewise. (add_high_low_attributes): Check option variables. Don't output entry view attribute in strict mode. (gen_inlined_subroutine_die): Check option variables. (dwarf2out_inline_entry): Likewise. (init_sections_and_labels): Likewise. (dwarf2out_early_finish): Likewise. (maybe_reset_location_view): New, from... (dwarf2out_var_location): ... here. Call it. * debug.h (dwarf2out_default_as_loc_support): Declare. (dwarf2out_default_as_locview_support): Declare. * hooks.c (hook_int_rtx_insn_0): New. * hooks.h (hook_int_rtx_insn_0): Declare. * toplev.c (process_options): Take -gas-loc-support and -gas-locview-support from dwarf2out. Enable -gvariable-location-views by default only with locview assembler support. Enable -ginternal-reset-location-views by default only if the target defines the corresponding hook. Enable -ginline-points by default if location views are enabled; force it disabled if statement frontiers are disabled. * tree-inline.c (expand_call_inline): Check option variables. * tree-ssa-live.c (remove_unused_scope_block_p): Likewise. From-SVN: r257631
Alexandre Oliva committed -
* pt.c (determine_specialization): Check uses_template_parms. From-SVN: r257630
Jason Merrill committed -
2018-02-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/84321 * tree-vrp.c (intersect_range_with_nonzero_bits): Fix VR_ANTI_RANGE handling. Also check whether the anti-range contains any values that satisfy the mask; switch to a VR_RANGE if not. gcc/testsuite/ PR tree-optimization/84321 * gcc.dg/pr84321.c: New test. From-SVN: r257629
Richard Sandiford committed -
2018-02-13 Vladimir Makarov <vmakarov@redhat.com> PR target/84359 * gcc.target/i386/57193.c: Add -march=x86-64. From-SVN: r257628
Vladimir Makarov committed -
* pt.c (find_parameter_packs_r): Also look at explicit captures. (check_for_bare_parameter_packs): Check current_class_type for lambda context. (extract_locals_r): Handle seeing a full instantiation of a pack. (tsubst_pack_expansion): Likewise. Force lambda capture. * parser.c (cp_parser_lambda_introducer): Don't check_for_bare_parameter_packs. From-SVN: r257627
Jason Merrill committed
-