1. 25 Mar, 2018 1 commit
  2. 24 Mar, 2018 4 commits
    • re PR fortran/70068 (ICE: out of memory on involving empty substring) · 335d0338
      2018-03-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/70068
      	* expr.c (find_substring_ref): Change types of start, end
      	and length variables to gfc_charlen_t. Set length to zero
      	for empty substring.
      
      2018-03-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/70068
      	* gfortran.dg/substr_7.f90: New test.
      
      From-SVN: r258835
      Thomas Koenig committed
    • re PR fortran/42651 (Functions with result: Wrongly accepts attributes to function name) · ba77f7ba
      2018-03-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/42651
      	* decl.c (check_function_name): Improved error message
      	(gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.
      
      2018-03-24  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/42651
      	* gfortran.dg/pr42651.f90: New test.
      	* gfortran.dg/func_result_7.f90: Update error message.
      
      From-SVN: r258834
      Steven G. Kargl committed
    • Use SCEV information when aligning for vectorisation (PR 84005) · a199d5e7
      This PR is another regression caused by the removal of the simple_iv
      check in dr_analyze_innermost for BB analysis.  Without splitting out
      the step, we weren't able to find an underlying object whose alignment
      could be increased.
      
      As with PR81635, I think the simple_iv was only handling one special
      case of something that ought to be more general.  The more general
      thing here is that if the address can be analysed as a scalar
      evolution, and if all updates preserve alignment N, it's possible
      to align the address to N by increasing the alignment of the base
      object to N.  That applies also to outer loops, and to both loop
      and BB analysis.
      
      I wasn't sure where the new functions ought to live, but tree-data-ref.c
      seemed OK since (a) that already does scev analysis on addresses and
      (b) you'd want to use dr_analyze_innermost first if you were analysing
      a reference.
      
      2018-03-24  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/84005
      	* tree-data-ref.h (get_base_for_alignment): Declare.
      	* tree-data-ref.c (get_base_for_alignment_1): New function.
      	(get_base_for_alignment): Likewise.
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
      	get_base_for_alignment to find a suitable base object, instead
      	of always using drb->base_address.
      
      gcc/testsuite/
      	PR tree-optimization/84005
      	* gcc.dg/vect/bb-slp-1.c: Make sure there is no message about
      	failing to force the alignment.
      
      From-SVN: r258833
      Richard Sandiford committed
    • Daily bump. · 19efbf0f
      From-SVN: r258831
      GCC Administrator committed
  3. 23 Mar, 2018 26 commits
  4. 22 Mar, 2018 9 commits
    • re PR fortran/84922 (fortran reports inconsistency in rank of arguments in… · b74fa126
      re PR fortran/84922 (fortran reports inconsistency in rank of arguments in interface and contained procedures)
      
      2018-03-22  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/84922
      	* decl.c (get_proc_name): If the MODULE prefix appears in interface
      	body, then it must appear on the contained subroutine or function.
      	While here, fix nearby mis-indented code.
      
      2018-03-22  Steven G. Kargl  <kargl@gcc.gnu.org
      
      	PR fortran/84922
      	* gfortran.dg/interface_42.f90: New test.
      	* gfortran.dg/interface_43.f90: New test.
      
      From-SVN: r258784
      Steven G. Kargl committed
    • rs6000-builtin.def: Remove various BU_ALTIVEC_X macro expansions for definition of... · 0bf86d46
      gcc/ChangeLog:
      
      2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-builtin.def: Remove various BU_ALTIVEC_X
      	macro expansions for definition of ST_INTERNAL_<mode> and
      	LD_INTERNAL_<mode> builtins.
      	* config/rs6000/rs6000-protos.h (rs6000_address_for_altivec):
      	Remove prototype.
      	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Delete this
      	function.
      	(altivec_expand_st_builtin): Likewise.
      	(altivec_expand_builtin): Remove calls to deleted functions.
      	(rs6000_address_for_altivec): Delete this function.
      	* config/rs6000/vector.md: Remove expands for
      	vector_altivec_load_<mode> and vector_altivec_store_<mode>.
      
      From-SVN: r258783
      Kelvin Nilsen committed
    • [ARM][PR target/84826] Fix ICE in extract_insn, at recog.c:2304 on · bb4ac03b
      arm-linux-gnueabi
      
      The ICE in the bug report was happening because the macro
      USE_RETURN_INSN (FALSE) was returning different values at different points
      in the compilation. This was internally occurring because the function
      arm_compute_static_chain_stack_bytes () which was dependent on
      arm_r3_live_at_start_p () was giving a different value after the cond_exec
      instructions were created in ce3 causing the liveness of r3 to escape up
      to the start block.
      
      The function arm_compute_static_chain_stack_bytes () should really only
      compute the value once duringepilogue/prologue stage. This pass introduces
      a new member 'static_chain_stack_bytes' to the target definition of the
      struct machine_function which gets calculated in expand_prologue and is the
      value that is returned by arm_compute_static_chain_stack_bytes () beyond that.
      
      ChangeLog entries:
      
      *** gcc/ChangeLog ***
      
      2018-03-22  Sudakshina Das  <sudi.das@arm.com>
      
      	PR target/84826
      	* config/arm/arm.h (machine_function): Add static_chain_stack_bytes.
      	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid
      	re-computing once computed.
      	(arm_expand_prologue): Compute machine->static_chain_stack_bytes.
      	(arm_init_machine_status): Initialize
      	machine->static_chain_stack_bytes.
      
      *** gcc/testsuite/ChangeLog ***
      
      2018-03-22  Sudakshina Das  <sudi.das@arm.com>
      
      	PR target/84826
      	* gcc.target/arm/pr84826.c: New test.
      
      From-SVN: r258777
      Sudakshina Das committed
    • [testsuite] Make sure dg-do is before dg-require-effective-target. · 253db553
      2018-03-22  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/testsuite/
      	* gcc.target/arm/addr-modes-float.c: Move dg-do before
      	dg-require-effective-target.
      	* gcc.target/arm/addr-modes-int.c: Likewise.
      	* gcc.target/nios2/lo-addr-tls.c: Likewise.
      
      From-SVN: r258776
      Christophe Lyon committed
    • re PR target/84760 (Finish implementation of __builtin_altivec_lvx_v1ti) · b51b0c9d
      gcc/ChangeLog:
      
      2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/84760
      	* doc/extend.texi: Add four new prototypes for vec_ld.
      	* config/rs6000/rs6000-builtin.def (LVX_V1TI): Reorder symbol
      	definitions for more logical presentation.
      	* config/rs6000/rs6000-c.c: (altivec_overloaded_builtins): Add
      	entries for V1TI variants of __builtin_altivec_ld builtin.
      	* config/rs6000/rs6000.c: (altivec_expand_lv_builtin): Add test and
      	handling of V1TI variant of LVX icode pattern.
      	(altivec_expand_builtin): Add case for ALTIVEC_BUILTIN_LVX_V1TI.
      	(rs6000_gimple_fold_builtin): Likewise.
      	(altivec_init_builtins): Add code to define
      	__builtin_altivec_lvx_v1ti function.
      
      gcc/testsuite/ChangeLog:
      
      2018-03-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/84760
      	* gcc.target/powerpc/altivec-ld-1.c: New test.
      
      From-SVN: r258774
      Kelvin Nilsen committed
    • PR libstdc++/85040 fix std::less<void> etc. ambiguities · 7c69a7d9
      	PR libstdc++/85040
      	* include/bits/stl_function.h (greater::__not_overloaded)
      	(less::__not_overloaded, greater_equal::__not_overloaded)
      	(less_equal::__not_overloaded): Fix ambiguous specializations.
      	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
      	tests for type with overlaoded operators.
      
      From-SVN: r258773
      Jonathan Wakely committed
    • pr83126.c: Require pthread for the test. · ece7d31f
      	gcc/testsuite
      	* gcc.dg/graphite/pr83126.c: Require pthread for the test.
      
      From-SVN: r258768
      Bin Cheng committed
    • xfail experimental/memory_resource/resource_adaptor.cc on 32-bit Solaris/x86 (PR libstdc++/77691) · 83872062
      	PR libstdc++/77691
      	* testsuite/experimental/memory_resource/resource_adaptor.cc:
      	xfail execution on 32-bit Solaris/x86.
      
      From-SVN: r258766
      Rainer Orth committed
    • re PR inline-asm/84941 (internal compiler error: in reg_overlap_mentioned_p, at… · 3c896da0
      re PR inline-asm/84941 (internal compiler error: in reg_overlap_mentioned_p, at rtlanal.c:1870 (reg_overlap_mentioned_p()/match_asm_constraints_1()))
      
      	PR inline-asm/84941
      	* function.c (match_asm_constraints_1): Don't do the optimization
      	if input isn't a REG, SUBREG, MEM or constant.
      
      	* gcc.dg/pr84941.c: New test.
      
      From-SVN: r258764
      Jakub Jelinek committed