1. 09 Oct, 2019 9 commits
  2. 08 Oct, 2019 23 commits
    • PR c++/92001 - missing -Wclass-memaccess with array as first argument to memset · d470060d
      gcc/cp/ChangeLog:
      
      	PR c++/92001
      	* call.c (maybe_warn_class_memaccess): Handle arrays.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/92001
      	* g++.dg/Wclass-memaccess-5.C: New test.
      
      From-SVN: r276725
      Martin Sebor committed
    • re PR tree-optimization/90836 (Missing popcount pattern matching) · 0eeb34b2
      2019-10-08  Dmitrij Pochepko <dmitrij.pochepko@bell-sw.com>
      
      	PR tree-optimization/90836
      	* lib/target-supports.exp (check_effective_target_popcount)
      	(check_effective_target_popcountll): New effective targets.
      	* gcc.dg/tree-ssa/popcount4.c: New test.
      	* gcc.dg/tree-ssa/popcount4l.c: New test.
      	* gcc.dg/tree-ssa/popcount4ll.c: New test.
      
      From-SVN: r276722
      Dmitrij Pochepko committed
    • re PR tree-optimization/90836 (Missing popcount pattern matching) · ac87f0f3
      2019-10-08  Dmitrij Pochepko <dmitrij.pochepko@bell-sw.com>
      
      	PR tree-optimization/90836
      	* gcc/match.pd (popcount): New pattern.
      
      From-SVN: r276721
      Dmitrij Pochepko committed
    • PR middle-end/92026 - gcc.dg/Wstringop-overflow-18.c FAIL · 7c3ed632
      PR middle-end/92026 - gcc.dg/Wstringop-overflow-18.c FAIL
      PR middle-end/92014 - bogus warning: writing 8 bytes into a region of size 1 in timezone/zic.c
      
      gcc/ChangeLog:
      	* tree-ssa-strlen.c (count_nonzero_bytes): Avoid recursing for MEM_REF
      	again once nbytes has been set.  Set the access size when not yet set.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/92014
      	* gcc.dg/Wstringop-overflow-19.c: New test.
      
      From-SVN: r276711
      Martin Sebor committed
    • [Darwin] Remove code deprecated in 4.x. · e86fc0d7
      This removes some code that should be dead.
      Given no reported problems from the warning since 4.6 this seems reasonable.
      
      gcc/ChangeLog:
      
      2019-10-08  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (machopic_select_section): Remove dead code for
      	old Objective-C section selection method, replace with unreachable.
      
      From-SVN: r276709
      Iain Sandoe committed
    • [Darwin, machopic 2/n] Compute and cache indirection rules. · a3fc4326
      This caches a check for the requirement to indirect a symbol in the Darwin
      ABI, and uses it where needed.  We also ensure that we place the indirection
      pointers into the non-lazy symbol pointers section.  Other placements have
      occurred with various platform toolchains - but these seem to have been
      unintentional so we match current platform toolchains.
      
      gcc/ChangeLog:
      
      2019-10-08  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (machopic_indirect_data_reference): Check for
      	required indirections before making direct access to defined
      	values.
      	(machopic_output_indirection): Place the indirected pointes for
      	required indirections into the non-lazy symbol pointers section.
      	(darwin_encode_section_info):
      	* config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New.
      	(MACHO_SYMBOL_MUST_INDIRECT_P): New.
      
      From-SVN: r276708
      Iain Sandoe committed
    • re PR rtl-optimization/91994 (r276327 breaks -mvzeroupper) · fe42ae7c
      	PR target/91994
      	* config/i386/i386.c (x86_avx_u128_mode_needed): Use SSE_REG
      	instead of ALL_SSE_REG to check if function call preserves some
      	256-bit SSE registers.
      
      From-SVN: r276707
      Uros Bizjak committed
    • re PR fortran/91801 (ICE in gfc_simplify_reshape, at fortran/simplify.c:6733) · 8cad1ad5
      2019-10-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91801
      	* simplify.c (gfc_simplify_reshape): Convert a gcc_assert into a
      	gfc_error as a user can easily hit the condition.
      
      2019-10-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91801
      	* gfortran.dg/pr91801.f90: New test.
      
      From-SVN: r276706
      Steven G. Kargl committed
    • DR 685 - Integral promotion of enum ignores fixed underlying type. · ff2640e5
      	* g++.dg/cpp0x/scoped_enum9.C: New test.
      
      From-SVN: r276705
      Marek Polacek committed
    • re PR testsuite/92025 (gcc.dg/Wstringop-overflow-12.c XPASSes) · 0de55866
      gcc/testsuite/ChangeLog:
      
      	PR tetsuite/92025
      	* gcc.dg/Wstringop-overflow-12.c: Remove xfail.
      
      2019-10-08  Richard Biener  <rguenther@suse.de>
      
      From-SVN: r276703
      Martin Sebor committed
    • Change the library search path when using --with-advance-toolchain · 17ce4f48
      From: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
      
      Remove all -L directories from LINK_OS_EXTRA_SPEC32 and
      LINK_OS_EXTRA_SPEC64 so that user directories specified at
      build time have higher preference over the advance toolchain libraries.
      
      Set MD_STARTFILE_PREFIX to $prefix/lib/ and MD_STARTFILE_PREFIX_1 to
      $at/lib/ so that a compiler library has preference over the Advance
      Toolchain libraries.
      
      
      	* config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and
      	LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and
      	MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain.
      
      From-SVN: r276702
      Tulio Magno Quites Machado Filho committed
    • tree-vectorizer.h (_stmt_vec_info::v_reduc_type): Remove. · 69f8c1ae
      2019-10-08  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (_stmt_vec_info::v_reduc_type): Remove.
      	(_stmt_vec_info::is_reduc_info): Add.
      	(STMT_VINFO_VEC_REDUCTION_TYPE): Remove.
      	(vectorizable_condition): Remove.
      	(vectorizable_shift): Likewise.
      	(vectorizable_reduction): Adjust.
      	(info_for_reduction): New.
      	* tree-vect-loop.c (vect_force_simple_reduction): Fold into...
      	(vect_analyze_scalar_cycles_1): ... here.
      	(vect_analyze_loop_operations): Adjust.
      	(needs_fold_left_reduction_p): Simplify for single caller.
      	(vect_is_simple_reduction): Likewise.  Remove stmt restriction
      	for nested cycles not part of double reductions.
      	(vect_model_reduction_cost): Pass in the reduction type.
      	(info_for_reduction): New function.
      	(vect_create_epilog_for_reduction): Use it, access reduction
      	meta off the stmt info it returns.  Use STMT_VINFO_REDUC_TYPE
      	instead of STMT_VINFO_VEC_REDUCTION_TYPE.
      	(vectorize_fold_left_reduction): Remove pointless assert.
      	(vectorizable_reduction): Analyze the full reduction when
      	visiting the outermost PHI.  Simplify.  Use STMT_VINFO_REDUC_TYPE
      	instead of STMT_VINFO_VEC_REDUCTION_TYPE.  Direct reduction
      	stmt code-generation to vectorizable_* in most cases.  Verify
      	code-generation only for cases handled by
      	vect_transform_reductuon.
      	(vect_transform_reduction): Use info_for_reduction to get at
      	reduction meta.  Simplify.
      	(vect_transform_cycle_phi): Likewise.
      	(vectorizable_live_operation): Likewise.
      	* tree-vect-patterns.c (vect_reassociating_reduction_p): Look
      	at the PHI node for STMT_VINFO_REDUC_TYPE.
      	* tree-vect-slp.c (vect_schedule_slp_instance): Remove no
      	longer necessary code.
      	* tree-vect-stmts.c (vectorizable_shift): Make static again.
      	(vectorizable_condition): Likewise.  Get at reduction related
      	info via info_for_reduction.
      	(vect_analyze_stmt): Adjust.
      	(vect_transform_stmt): Likewise.
      	* tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
      	STMT_VINFO_REDUC_TYPE instead of STMT_VINFO_VEC_REDUCTION_TYPE.
      
      	* gcc.dg/vect/pr65947-1.c: Adjust.
      	* gcc.dg/vect/pr65947-13.c: Likewise.
      	* gcc.dg/vect/pr65947-14.c: Likewise.
      	* gcc.dg/vect/pr65947-4.c: Likewise.
      	* gcc.dg/vect/pr80631-1.c: Likewise.
      	* gcc.dg/vect/pr80631-2.c: Likewise.
      
      From-SVN: r276700
      Richard Biener committed
    • Fortran - fix OpenMP 'target simd' · 65b67cf3
      	gcc/fortran/
      	* parse.c (parse_executable): Add missing ST_OMP_TARGET_SIMD.
      
      	libgomp/
      	* testsuite/libgomp.fortran/target-simd.f90: New.
      
      From-SVN: r276698
      Tobias Burnus committed
    • Add makefile target to update HTML files in source tree · 07f37a7f
      Also remove the creation of the html/ext sub-directory, which has been
      unused since revision r245258.
      
      	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
      	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
      	* doc/Makefile.in: Regenerate.
      	* doc/xml/manual/documentation_hacking.xml: Document new target.
      	* doc/html/*: Regenerate.
      
      From-SVN: r276695
      Jonathan Wakely committed
    • Fortran - Improve OpenMP/OpenACC diagnostic · 8beaf167
      	gcc/fortran/
      	* match.h (gfc_match_omp_eos_error): Renamed from gfc_match_omp_eos.
      	* openmp.c (gfc_match_omp_eos): Make static.
      	(gfc_match_omp_eos_error): New.
      	* parse.c (matchs, matchdo, matchds): Do as done for 'matcho' -
              if error occurred after OpenMP/OpenACC directive matched, do not
      	try other directives.
      	(decode_oacc_directive, decode_omp_directive): Call new function
      	instead.
      
      	testsuite/
      	* gfortran.dg/goacc/continuation-free-form.f95: Update dg-error.
      
      From-SVN: r276694
      Tobias Burnus committed
    • Restore URL for Austern article on allocators · db4fd465
      This reverts "Remove broken URL from libstdc++ manual" by restoring the
      link, but using an archived copy from the Wayback Machine.
      
      	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
      	* doc/html/*: Regenerate.
      
      From-SVN: r276693
      Jonathan Wakely committed
    • Remove Cell Broadband Engine SPU targets · df77d703
      Follow-up to trunk 275343:
      
      	* MAINTAINERS: Add back Trevor Smigiel; move into Write After
      	Approval section.
      
      From-SVN: r276692
      Thomas Schwinge committed
    • Extend 'libgfortran/runtime/minimal.c' per r274599 "PR fortran/68401 Improve… · ca72b780
      Extend 'libgfortran/runtime/minimal.c' per r274599 "PR fortran/68401 Improve allocation error message"
      
      	libgfortran/
      	PR fortran/68401
      	* runtime/minimal.c (os_error_at): New function.
      
      From-SVN: r276691
      Thomas Schwinge committed
    • Revise 'libgfortran/runtime/minimal.c' to better conform to the original sources · 41bc80c3
      	libgfortran/
      	* runtime/minimal.c: Revise.
      
      From-SVN: r276690
      Thomas Schwinge committed
    • Remove '>>>' merge marker from changelog · 5cfa327d
      From-SVN: r276689
      Tobias Burnus committed
    • [AArch64] Limit simd-abi-9.c function body test to LP64 · 81398293
      On ILP32 targets, there's an extra UXTW instruction to extend
      the incoming pointer before the load.  It doesn't seem worth
      complicating the test for that, since all we're checking is
      that an optimisation takes place, and that optimisation isn't
      related to pointer size.
      
      2019-10-08  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/testsuite/
      	* gcc.target/aarch64/torture/simd-abi-9.c: Require LP64 for
      	the function body test.
      
      From-SVN: r276688
      Richard Sandiford committed
    • Make C2X imply -fno-fp-int-builtin-inexact. · fbb2a6dc
      Since TS 18661-1 has been integrated into C2X, this patch makes C2X
      imply -fno-fp-int-builtin-inexact.
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc:
      	* doc/invoke.texi (-ffp-int-builtin-inexact): Document
      	-fno-fp-int-builtin-inexact default for C2X.
      
      gcc/c-family:
      	* c-opts.c (c_common_post_options): Set
      	-fno-fp-int-builtin-inexact for C2X.
      
      gcc/testsuite:
      	* gcc.dg/torture/builtin-fp-int-inexact-c2x.c: New test.
      
      From-SVN: r276686
      Joseph Myers committed
    • Daily bump. · b11df898
      From-SVN: r276685
      GCC Administrator committed
  3. 07 Oct, 2019 8 commits
    • re PR tree-optimization/91532 ([SVE] Redundant predicated store in gcc.target/aarch64/fmla_2.c) · b238b34e
      2019-10-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      	    Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91532
      	* tree-if-conv.c: Include tree-ssa-dse.h.
      	(ifcvt_local_dce): Change param from bb to loop,
      	and call dse_classify_store.
      	(tree_if_conversion): Pass loop instead of loop->header as arg
      	to ifcvt_local_dce.
      	* tree-ssa-dse.c: Include tree-ssa-dse.h.
      	(delete_dead_or_redundant_assignment): Remove static qualifier from
      	declaration, and add prototype in tree-ssa-dse.h.
      	(dse_store_status): Move to tree-ssa-dse.h.
      	(dse_classify_store): Remove static qualifier and add new tree param
      	stop_at_vuse, and add prototype in tree-ssa-dse.h.
      	* tree-ssa-dse.h: New header.
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r276681
      Prathamesh Kulkarni committed
    • Revert: 2019-10-07 Jozef Lawrynowicz <jozef.l@mittosystems.com> · cac52161
      	* config/msp430/msp430.md: Revert: Group zero_extend* insns together.
      
      From-SVN: r276680
      Jozef Lawrynowicz committed
    • msp430.md: Group zero_extend* insns together. · 795fe3d2
      2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.md: Group zero_extend* insns together.
      
      From-SVN: r276679
      Jozef Lawrynowicz committed
    • [Darwin, machopic 1/n] Consider visibility in indirections. · b393e5ed
      For weak, hidden vars the indirection should just be as normal, that
      is that the indirections for such symbols should appear in the non-lazy
      symbol pointers table, not in the .data section.
      
      gcc/ChangeLog:
      
      2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (machopic_output_indirection): Don't put
      	hidden symbol indirections into the .data section, use the
      	non-lazy symbol pointers section as normal.
      	(darwin_encode_section_info): Record if a symbol is hidden.
      	* config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New.
      	(MACHO_SYMBOL_HIDDEN_VIS_P): New.
      
      From-SVN: r276675
      Iain Sandoe committed
    • [Darwin, machopic 0/n] Initial tidy of Mach-O symbol handling. · 2161a445
      We want to improve the detection and caching of symbol-properties
      so that (a) we can make the compiler's output match the platform
      norms (b) we can improve efficiency by checking flags instead of
      inspecting strings. (c) The fix for PR71767 was a largish hammer
      and we want to reduce the number of symbols that are made linker-
      visible.
      
      This first patch is largely typographical changes with no functional
      difference intended:
      
      - Tries to ensure that there's no overlap between the symbols used in
      the Mach-O case and those declared in the i386 or rs6000 port trees.
      
       - Some improvement to comments.
      
      - Makes the naming of the symbol flags consistent with other uses.
       
       - Provides a predicate macro for each use.
       
      gcc/ChangeLog:
      
      2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (machopic_symbol_defined_p): Use symbol flag
      	predicates instead of accessing bits directly.
      	(machopic_indirect_call_target): Likewise.
      	(machopic_output_indirection): Likewise.
      	(darwin_encode_section_info): Improve description.  Use renamed
      	symbol flags.  Use predicate macros for variables and functions.
      	* config/darwin.h:
      	Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE.
      	Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED.
      	Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC.
      	(MACHO_SYMBOL_VARIABLE_P): New.
      	(MACHO_SYMBOL_DEFINED_P):New.
      	(MACHO_SYMBOL_STATIC_P): New.
      	* config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete.
      	(SYMBOL_FLAG_SUBT_DEP): New.
      	* config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New.
      
      From-SVN: r276674
      Iain Sandoe committed
    • msp430.c (msp430_file_end): s/msp_/msp430_/ · 8a896995
      2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (msp430_file_end): s/msp_/msp430_/
      	(msp430_expand_epilogue): Likewise.
      	* config/msp430/predicates.md: Likewise.
      	* config/msp430/msp430.md: Likewise.
      	Replace blocks of 8 spaces with tabs.
      
      From-SVN: r276671
      Jozef Lawrynowicz committed
    • msp430-protos.h (msp430_split_addsi): New prototype. · 53f45082
      2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430-protos.h (msp430_split_addsi): New prototype.
      	* config/msp430/msp430.c (msp430_split_addsi): New.
      	* config/msp430/msp430.md: Call msp430_split_addsi () instead of using
      	a block of C code for splitting addsi.
      
      From-SVN: r276670
      Jozef Lawrynowicz committed
    • i386-expand.c (ix86_expand_floorceildf_32, [...]): Reorder functions. · 36d387f2
      	* config/i386/i386-expand.c (ix86_expand_floorceildf_32,
      	ix86_expand_rounddf_32): Reorder functions.
      	* config/i386/i386-protos.h: Update..
      
      From-SVN: r276668
      Uros Bizjak committed