1. 15 Feb, 2018 20 commits
  2. 14 Feb, 2018 19 commits
    • PR tree-optimization/83698 - bogus offset in -Wrestrict messages for strcat of unknown strings · 816fad6e
      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
    • gcc/testsuite/ChangeLog: · 7c102986
      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
    • PR middle-end/84108 - incorrect -Wattributes warning for packed/aligned conflict on struct members · fba303ed
      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
    • re PR fortran/84385 ([F03] Reject invalid SELECT TYPE selector (allocate_with_source_22.f03)) · ee3bb1b7
      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
    • re PR target/83984 (ld: The value 0x8000000000005 does not fit when applying the relocation DIR21L) · 6ae67989
      	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
    • pr57193.c (dg-do): Remove target selector. · 4ce5745c
      	* gcc.target/i386/pr57193.c (dg-do): Remove target selector.
      	(dg-options): Use -O2 -msse2 -mno-sse3.
      
      From-SVN: r257669
      Uros Bizjak committed
    • rs6000.c (rs6000_option_override_internal): Issue warning message if user requests -maltivec=be. · 49cc0354
      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
    • re PR c++/84350 (ICE with new and auto) · 2482a4ec
      /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
    • [C++ PATCH]: instantiation via vtable marking · 486c5299
      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
    • altivec-consts.c: Update compile stanzas. · 34c58a43
      
      [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
    • re PR target/84220 (rs6000 builtin __builtin_vec_sld() ICEs on invalid 3rd argument) · 911b141b
      
      [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
    • Reimplement CET intrinsics for rdssp/incssp insn. · f8de876d
      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
    • cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. · 87ca4015
      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
    • re PR other/82368 (with r253275 several new test cases in libbacktrace fail) · da07141f
      	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
    • Check array indices in object_address_invariant_in_loop_p (PR 84357) · 316b2a2d
      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
    • re PR target/83831 ([RX] Unused bclr,bnot,bset insns) · 06e97270
      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
    • re PR fortran/84313 ([F08] reject procedure pointers in COMMON blocks) · d1fe6124
      	PR fortran/84313
      	* testsuite/libgomp.fortran/threadprivate4.f90: Add
      	-std=f2003 -fall-intrinsics into dg-additional-options.
      
      From-SVN: r257654
      Jakub Jelinek committed
    • re PR target/79242 (ICE in simplify_subreg, at simplify-rtx.c:6029) · a005570e
      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
    • Daily bump. · 3f5ddefd
      From-SVN: r257651
      GCC Administrator committed
  3. 13 Feb, 2018 1 commit