1. 21 Jun, 2019 19 commits
    • PR c++/90490 - fix decltype issues in noexcept-specifier. · 4c60db9a
      	* except.c (build_noexcept_spec): Call
      	instantiate_non_dependent_expr_sfinae before
      	build_converted_constant_expr instead of calling
      	instantiate_non_dependent_expr after it.  Add
      	processing_template_decl_sentinel.
      
      	* g++.dg/cpp0x/noexcept43.C: New test.
      	* g++.dg/cpp0x/noexcept44.C: New test.
      
      From-SVN: r272568
      Marek Polacek committed
    • PR c++/90875 - added -Wswitch-outside-range option · c27d68ee
      From-SVN: r272567
      Matthew Beliveau committed
    • [Darwin, fixincludes] Fix Darwin9/10 math.h issues. · 5a50aed3
      Darwin has had long long functions for some considerable time and these are
      exposed in Darwin8 and Darwin11+ headers.  However, for some reason it was
      elected to hide them behind __STRICT_ANSI__ and __STDC_VERSION__ on Darwin9
      and Darwin10.  This is a problem for G++/libstdc++ that expects the functions
      to be available for strict ansi (-std=c++14, for example) and without
      defining __STDC_VERSION__.  The fix here follows the pattern used in
      Darwin11+ headers where the functions may be explicitly hidden by defining
      __DARWIN_NO_LONG_LONG.
      
      This fixes the tr1 testsuite fails seen on Darwin9 and 10.
      
      2019-06-21  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* inclhack.def: Replace the complex test using __STRICT_ANSI__ and
      	__STDC_VERSION__ with a test using __DARWIN_NO_LONG_LONG.
      	Ensure that the top level math.h uses <> to wrap included headers
      	rather than "".
      	* fixincl.x: Regenerated.
      	* tests/base/architecture/ppc/math.h: Update test to include the
      	__DARWIN_NO_LONG_LONG case.
      
      From-SVN: r272563
      Iain Sandoe committed
    • [Darwin, fixincludes] Fix Darwin14 header issues. · 59a0b1db
      There are two issues with the Darwin14 (SDK) headers in which unguarded
      advanced syntax elements causes any code including these headers to fail.
      
      2019-06-21  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* inclhack.def: Guard __has_attribute and __has_extension in
      	os/base.h.
      	Guard Apple blocks syntax in dispatch/object.h.
      	* fixincl.x: Regenerate.
      	* tests/base/dispatch/object.h: New file.
      	* tests/base/os/base.h: New file.
      
      From-SVN: r272561
      Iain Sandoe committed
    • re PR tree-optimization/90930 (Excessive memory consumption) · 8d5558c5
      2019-06-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90930
      	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited
      	flag on new stmts to avoid re-processing them.
      
      From-SVN: r272560
      Richard Biener committed
    • PR c++/90875 - added -Wswitch-outside-range option · da9e9b57
      	* doc/invoke.texi (Wswitch-outside-range): Document.
      
      	* c.opt (Wswitch-outside-range): Added new option.
      	* c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
      
      	* c-c++-common/Wswitch-outside-range-1.c: New test.
      	* c-c++-common/Wswitch-outside-range-2.c: New test.
      	* c-c++-common/Wswitch-outside-range-3.c: New test.
      	* c-c++-common/Wswitch-outside-range-4.c: New test.
      
      From-SVN: r272559
      Matthew Beliveau committed
    • re PR fortran/51991 (Wrong error message with variables named "SAVE*") · 69352933
      2019-06-21  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/51991
      	* decl.c (gfc_match_save): If SAVE was not seen, return MATCH_NO
      	instead issuing an error message and returning MATCH_ERROR.
      
      2019-06-21  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/51991
      	gfortran.dg/pr51991.f90
      
      From-SVN: r272556
      Steven G. Kargl committed
    • re PR tree-optimization/90949 (null pointer check removed) · 84338a14
      	PR tree-optimization/90949
      	* tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info.
      	* tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state.
      
      	* gcc.c-torture/execute/pr90949.c: New test.
      
      From-SVN: r272555
      Jeff Law committed
    • Fix missing name in ChangeLog · 1296eaf6
      Fix another case in which a name in the commit message wasn't copied to
      the ChangeLog -- sorry!
      
      From-SVN: r272553
      Richard Sandiford committed
    • PR c++/90953 - ICE with -Wmissing-format-attribute. · 3f3d6a6f
      	* c-common.c (check_function_arguments_recurse): Use
      	get_attribute_name.
      	(check_missing_format_attribute): Likewise.
      
      	* g++.dg/warn/miss-format-7.C: New test.
      
      From-SVN: r272552
      Marek Polacek committed
    • Fix missing name in ChangeLog · 390549c8
      It was in the commit message but got dropped from the ChangeLog entry
      due to a scripting bug.
      
      From-SVN: r272551
      Richard Sandiford committed
    • compiler: omit write barrier for assignment to *(convert(&local)) · 28b9598b
          
          Assignments to local variables don't need a write barrier. But
          currently the compiler inserts a write barrier if the LHS is a
          local variable with type converted, as *(convert(&local)). Let
          the compiler recognize this pattern and omit the write barrier.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/182541
      
      From-SVN: r272550
      Ian Lance Taylor committed
    • compiler: open code string slice expressions · c9b236e5
          
          Currently a string slice expression is implemented with a runtime
          call __go_string_slice. Change it to open code it, which is more
          efficient, and allows the backend to further optimize it.
          
          Also omit the write barrier for length-only update (i.e.
          s = s[:n]).
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/182540
      
      From-SVN: r272549
      Ian Lance Taylor committed
    • re PR debug/90914 (ICE in schedule_generic_params_dies_gen, at dwarf2out.c:27153) · 050e182a
      2019-06-21  Richard Biener  <rguenther@suse.de>
      
      	PR debug/90914
      	* dwarf2out.c (prune_unused_types_walk): Always consider
      	function-local extern declarations as used.
      
      	* g++.dg/debug/pr90914.C: New testcase.
      
      From-SVN: r272547
      Richard Biener committed
    • re PR tree-optimization/90913 (ICE in maybe_gen_insn, at optabs.c:7341 since r272239) · b614fca2
      2019-06-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90913
      	* tree-vect-loop-manip.c (vect_loop_versioning): Do not re-use
      	the scalar variant of if-conversion versioning.
      
      	* gfortran.dg/vect/pr90913.f90: New testcase.
      
      From-SVN: r272545
      Richard Biener committed
    • omp-low.c (lower_rec_simd_input_clauses): Add rvar2 argument... · 1612b1fe
      	* omp-low.c (lower_rec_simd_input_clauses): Add rvar2 argument,
      	create another "omp scan inscan exclusive" array if
      	!ctx->scan_inclusive.
      	(lower_rec_input_clauses): Handle exclusive scan inscan reductions.
      	(lower_omp_scan): Likewise.
      	* tree-vectorizer.h (struct _stmt_vec_info): Use 3-bit instead of
      	2-bit bitfield for simd_lane_access_p member.
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Also handle
      	aux == (void *)-4 as simd lane access.
      	* tree-vect-stmts.c (check_scan_store): Handle exclusive scan.  Update
      	comment with permutations to show the canonical permutation order.
      	(vectorizable_scan_store): Handle exclusive scan.
      	(vectorizable_store): Call vectorizable_scan_store even for
      	STMT_VINFO_SIMD_LANE_ACCESS_P > 3.
      
      	* gcc.dg/vect/vect-simd-12.c: New test.
      	* gcc.dg/vect/vect-simd-13.c: New test.
      	* gcc.dg/vect/vect-simd-14.c: New test.
      	* gcc.dg/vect/vect-simd-15.c: New test.
      	* gcc.target/i386/sse2-vect-simd-12.c: New test.
      	* gcc.target/i386/sse2-vect-simd-13.c: New test.
      	* gcc.target/i386/sse2-vect-simd-14.c: New test.
      	* gcc.target/i386/sse2-vect-simd-15.c: New test.
      	* gcc.target/i386/avx2-vect-simd-12.c: New test.
      	* gcc.target/i386/avx2-vect-simd-13.c: New test.
      	* gcc.target/i386/avx2-vect-simd-14.c: New test.
      	* gcc.target/i386/avx2-vect-simd-15.c: New test.
      	* gcc.target/i386/avx512f-vect-simd-12.c: New test.
      	* gcc.target/i386/avx512f-vect-simd-13.c: New test.
      	* gcc.target/i386/avx512f-vect-simd-14.c: New test.
      	* gcc.target/i386/avx512bw-vect-simd-15.c: New test.
      	* g++.dg/vect/simd-6.cc: New test.
      	* g++.dg/vect/simd-7.cc: New test.
      	* g++.dg/vect/simd-8.cc: New test.
      	* g++.dg/vect/simd-9.cc: New test.
      	* c-c++-common/gomp/scan-2.c: Don't expect any diagnostics.
      
      From-SVN: r272544
      Jakub Jelinek committed
    • re PR c++/90950 (OpenMP clause handling rejecting references to incomplete types in templates) · e73fb06d
      	PR c++/90950
      	* semantics.c (finish_omp_clauses): Don't reject references to
      	incomplete types if processing_template_decl.
      
      	* g++.dg/gomp/lastprivate-1.C: New test.
      
      From-SVN: r272543
      Jakub Jelinek committed
    • tree-vect-data-refs.c (vect_find_stmt_data_reference): Handle "omp simd array"… · 080c269b
      tree-vect-data-refs.c (vect_find_stmt_data_reference): Handle "omp simd array" arrays with one byte elements.
      
      	* tree-vect-data-refs.c (vect_find_stmt_data_reference): Handle
      	"omp simd array" arrays with one byte elements.
      
      	* gcc.dg/vect/vect-simd-11.c: New test.
      	* gcc.target/i386/sse2-vect-simd-11.c: New test.
      	* gcc.target/i386/avx2-vect-simd-11.c: New test.
      	* gcc.target/i386/avx512bw-vect-simd-11.c: New test.
      
      From-SVN: r272542
      Jakub Jelinek committed
    • Daily bump. · da10d7c2
      From-SVN: r272538
      GCC Administrator committed
  2. 20 Jun, 2019 21 commits