1. 02 May, 2018 14 commits
    • PR libstdc++/69608 Move semantics for strstreambuf · c6d42579
      In libstdc++ the deprecated char* streams are non-copyable, as was
      required pre-C++11.
      
      Since C++11 the standard implies that those streams should be copyable,
      but doesn't specify the effects of copying them. This is surely a
      defect, so for consistency with other implementations this change makes
      them movable, but not copyable.
      
      	PR libstdc++/69608
      	* include/backward/strstream (strstreambuf): Define move constructor
      	and move assignment operator.
      	(istrstream, ostrstream, strstream): Likewise.
      	* testsuite/backward/strstream_move.cc: New.
      
      From-SVN: r259842
      Jonathan Wakely committed
    • re PR tree-optimization/85597 (internal compiler error: in… · d6476f90
      re PR tree-optimization/85597 (internal compiler error: in compute_live_loop_exits, at tree-ssa-loop-manip.c:229)
      
      2018-05-02  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/85597
      	* tree-vect-stmts.c (vectorizable_operation): For ternary SLP
      	do not use split vect_get_vec_defs call but call vect_get_slp_defs
      	directly.
      
      	* gcc.dg/vect/pr85597.c: New testcase.
      
      From-SVN: r259840
      Richard Biener committed
    • [testsuite] Add scan-ltrans-tree-dump · 9220b511
      2018-05-02  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/85106
      	* gcc.dg/ipa/ipa-icf-38.c: Use scan-ltrans-tree-dump.
      	* lib/scanltranstree.exp: New file.
      	* lib/target-supports.exp (scan-ltrans-tree-dump_required_options)
      	(scan-ltrans-tree-dump-times_required_options)
      	(scan-ltrans-tree-dump-not_required_options)
      	(scan-ltrans-tree-dump-dem_required_options)
      	(scan-ltrans-tree-dump-dem-not_required_options): New proc.
      	* lib/gcc-dg.exp: Include scanltranstree.exp.
      
      	* testsuite/lib/libatomic.exp: Include scanltranstree.exp.
      
      	* testsuite/lib/libgomp.exp: Include scanltranstree.exp.
      
      	* testsuite/lib/libitm.exp: Include scanltranstree.exp.
      
      	* testsuite/lib/libvtv.exp: Include scanltranstree.exp.
      
      	* doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization
      	dump files): Add ltrans-tree.
      
      From-SVN: r259838
      Tom de Vries committed
    • [testsuite] Add scan-wpa-ipa-dump · 6c3c13c1
      2018-05-02  Tom de Vries  <tom@codesourcery.com>
      
      	PR testsuite/85106
      	* gcc.dg/ipa/ipa-icf-38.c: New test.
      	* gcc.dg/ipa/ipa-icf-38a.c: New test.
      	* lib/scandump.exp (dump-base): New proc.
      	(scan-dump, scan-dump-times, scan-dump-not, scan-dump-dem)
      	(scan-dump-dem-not): Add and handle parameter for suffix of the dump
      	base.
      	* lib/scanipa.exp: Add "" argument to scan-dump calls.
      	* lib/scanlang.exp: Same.
      	* lib/scanrtl.exp: Same.
      	* lib/scantree.exp: Same.
      	* lib/scanwpaipa.exp: New file.
      	* lib/gcc-dg.exp: Include scanwpaipa.exp.
      
      	* testsuite/lib/libatomic.exp: Include scanwpaipa.exp.
      
      	* testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
      
      	* testsuite/lib/libitm.exp: Include scanwpaipa.exp.
      
      	* testsuite/lib/libvtv.exp: Include scanwpaipa.exp.
      
      	* doc/sourcebuild.texi (Commands for use in dg-final, Scan optimization
      	dump files): Add wpa-ipa.
      
      From-SVN: r259837
      Tom de Vries committed
    • rs6000: Remove paired single · 55928937
      This removes paired single (used on the 750CL and friends).  It was
      deprecated in GCC 8.  Removing it means we only have one vector model
      to deal with (VMX+VSX, 16-byte vectors).
      
      
      	* config.gcc (powerpc*-*-*): Remove paired.h.  Unsupport the
      	powerpc*-*-linux*paired* target.
      	* config/rs6000/750cl.h: Delete.
      	* config/rs6000/paired.h: Delete.
      	* config/rs6000/paired.md: Delete.
      	* config/rs6000/predicates.md (easy_vector_constant): Remove paired
      	float support.
      	* config/rs6000/rs6000-builtin.def: Remove paired float support.
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
      	comment.  Remove paired float support.
      	* config/rs6000/rs6000-modes.def: Remove V2SF and V2SI.
      	* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete
      	VECTOR_PAIRED.
      	* config/rs6000/rs6000-protos.h (paired_expand_vector_init,
      	paired_emit_vector_cond_expr, paired_expand_vector_move): Delete
      	declarations.
      	* config/rs6000/rs6000.c: Remove paired float support.
      	(paired_expand_vector_init, paired_expand_vector_move,
      	paired_emit_vector_compare, paired_emit_vector_cond_expr,
      	(paired_expand_lv_builtin, paired_expand_stv_builtin,
      	paired_expand_builtin, paired_expand_predicate_builtin,
      	paired_init_builtins): Delete.
      	* config/rs6000/rs6000.h: Remove paired float support.
      	* config/rs6000/rs6000.md: Remove paired float support.
      	(move_from_CR_ov_bit): Delete.
      	* config/rs6000/rs6000.opt (mpaired): Delete.
      	* config/rs6000/t-rs6000: Remove paired.md from MD_INCLUDES.
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mpaired.
      
      From-SVN: r259833
      Segher Boessenkool committed
    • ansidecl.h (ATTRIBUTE_NONSTRING): Define. · 85b3bb6d
      ATTRIBUTE_NONSTRING
      
      	* ansidecl.h (ATTRIBUTE_NONSTRING): Define.
      
      From-SVN: r259832
      Alan Modra committed
    • * gennews (files): Add files for GCC 8. · b1750618
      From-SVN: r259828
      Jakub Jelinek committed
    • re PR middle-end/85567 (internal compiler error: in gimplify_modify_expr, at… · b18f161d
      re PR middle-end/85567 (internal compiler error: in gimplify_modify_expr, at gimplify.c:5797 when using sincos())
      
      2018-05-02  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/85567
      	* gimplify.c (gimplify_save_expr): When in SSA form allow
      	SAVE_EXPRs to compute to SSA vars.
      
      	* gcc.dg/torture/pr85567.c: New testcase.
      
      From-SVN: r259826
      Richard Biener committed
    • re PR target/85582 (wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode) · 014dcf47
      	PR target/85582
      	* config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
      	*ashl<dwi>3_doubleword_mask_1, *<shift_insn><dwi>3_doubleword_mask,
      	*<shift_insn><dwi>3_doubleword_mask_1): If and[sq]i3 is needed, don't
      	clobber operands[2], instead use a new pseudo.  Formatting fixes.
      
      	* gcc.c-torture/execute/pr85582-1.c: New test.
      	* gcc.c-torture/execute/pr85582-2.c: New test.
      
      From-SVN: r259825
      Jakub Jelinek committed
    • Tighten early exit in vect_analyze_data_ref_dependence (PR85586) · 9e4da9b5
      The problem in this PR was that we didn't consider aliases between
      writes in the same strided group.  After tightening the early exit
      we get the expected abs(step) >= 2 versioning check.
      
      2018-05-02  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/85586
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only
      	exit early for statements in the same group if the accesses are
      	not strided.
      
      gcc/testsuite/
      	PR tree-optimization/85586
      	* gcc.dg/vect/pr85586.c: New test.
      
      From-SVN: r259822
      Richard Sandiford committed
    • [lto] Add "could not find mkoffload" error message to lto-wrapper · c2e1580c
      2018-05-02  Tom de Vries  <tom@codesourcery.com>
      
      	PR lto/85451
      	* lto-wrapper.c (compile_offload_image): Add "could not find mkoffload"
      	error message.
      
      From-SVN: r259821
      Tom de Vries committed
    • Plugin API to get the list of wrap symbols. · 01f30ce6
      This was approved for the binutils gold linker.
      2018-05-01  Sriraman Tallam  <tmsriram@google.com>
      
      	* plugin-api.h: Add plugin API to get the list of wrap
      	symbols.
      
      From-SVN: r259820
      Sriraman Tallam committed
    • Add support for gcc as git submodule of another repository. · 254f7933
      	contrib/
      	* gcc_update: Check for .git as a file.
      
      From-SVN: r259819
      Jim Wilson committed
    • Daily bump. · 77972c79
      From-SVN: r259818
      GCC Administrator committed
  2. 01 May, 2018 16 commits
  3. 30 Apr, 2018 10 commits
    • PR c++/84701 - unsigned typeof. · fe43c635
      	* decl.c (grokdeclarator): Overhaul diagnostics for invalid use
      	of long/short/signed/unsigned.
      
      From-SVN: r259780
      Jason Merrill committed
    • PR c++/85305 - pack in lambda init-capture. · f026530a
      	* parser.c (cp_parser_initializer): Add subexpression_p parm; don't
      	check_for_bare_parameter_packs in a subexpression.
      	(cp_parser_lambda_introducer): Use it.
      
      From-SVN: r259779
      Jason Merrill committed
    • argv.c (expandargv): Fix memory leak for expanded arguments. · d6df811e
             * argv.c (expandargv): Fix memory leak for expanded
              arguments.
      
      From-SVN: r259775
      Daniel van Gerpen committed
    • Clarify documentation for -fpie and -fPIE · 98c2d5ae
      	* doc/invoke.texi (-fpie, -fPIE): Fix grammar and clarify
      	interaction with -pie.
      
      From-SVN: r259774
      Jonathan Wakely committed
    • selftest.h: fix alphabetization of per-source-file selftest declarations · 2099cb2d
      gcc/ChangeLog:
      	* selftest.h: Fix alphabetization of per-source-file selftest
      	declarations.
      
      From-SVN: r259773
      David Malcolm committed
    • PR c++/61982 - dead stores to destroyed objects. · cdc18417
      gcc/cp/
      	* call.c (build_trivial_dtor_call): New, assigns a clobber.
      	(build_over_call, build_special_member_call): Use it.
      	* cp-tree.h: Declare it.
      	* init.c (build_delete): Remove trivial path.
      gcc/
      	* gimplify.c (gimplify_modify_expr): Simplify complex lvalue on LHS
      	of clobber.
      
      From-SVN: r259772
      Jason Merrill committed
    • init.c (build_dtor_call): Use build_special_member_call. · 4d20f490
      	* init.c (build_dtor_call): Use build_special_member_call.
      
      	(build_delete): Remove redundant uses of save_addr.
      
      From-SVN: r259771
      Jason Merrill committed
    • tree.c (build_clobber): New. · 94b2a1e5
      	* tree.c (build_clobber): New.
      
      	* tree.h: Declare it.
      	* gimplify.c (gimplify_bind_expr, gimplify_target_expr): Use it.
      
      From-SVN: r259770
      Jason Merrill committed
    • Use char_span for return type of location_get_source_line · 7761dfbe
      location_get_source_line returns a const char * that isn't 0-terminated,
      writing back a length through an int * param.
      
      This is error-prone, as all call-sites have to take into account the
      lack of 0-termination, and respect the length of the buffer.
      
      It's cleaner to bundle together this pointer+length state into a class,
      so this patch does so, reusing the "char_span" class that I introduced
      in r250187 (as part of the fix for PR c/81405).
      
      The patch also adds assertions to all access to the char_span.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (get_corrected_substring): Update for
      	location_get_source_line returning a char_span.  Use a char_span
      	when handling the prefix of the correction.
      	* c-indentation.c (get_visual_column): Update for
      	location_get_source_line returning a char_span.
      	(get_first_nws_vis_column): Likewise.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (layout::layout): Update for
      	location_get_source_line returning a char_span.
      	(struct char_span): Move to input.h.
      	(struct correction): Update for fields in char_span becoming
      	private.
      	(struct source_line): Update for location_get_source_line
      	returning a char_span.
      	(layout::print_line): Likewise.
      	* edit-context.c (edited_file::print_content): Likewise.
      	(edited_file::print_diff_hunk): Likewise.
      	(edited_file::print_run_of_changed_lines): Likewise.
      	(edited_file::get_num_lines): Likewise.
      	(edited_line::edited_line): Likewise.
      	* final.c (asm_show_source): Likewise.
      	* input.c (location_get_source_line): Convert return type
      	from const char * to char_span, losing the final "line_len"
      	param.
      	(dump_location_info): Update for the above.
      	(get_substring_ranges_for_loc): Likewise.  Use a char_span
      	when handling the literal within the line.
      	(test_reading_source_line): Update for location_get_source_line
      	returning a char_span.
      	* input.h (class char_span): Move here from
      	diagnostic-show-locus.c, converting from a struct to a class.
      	Make data members private.
      	(char_span::operator bool): New.
      	(char_span::length): New.
      	(char_span::get_buffer): New.
      	(char_span::operator[]): New.
      	(char_span::subspan): Make const.
      	(char_span::xstrdup): New.
      	(location_get_source_line): Convert return type from const char *
      	to char_span, losing the final "line_size" param.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Update for location_get_source_line returning a
      	char_span.  Use char_span for handling words in the
      	"test_many_nested_locations" fix-it example.
      
      From-SVN: r259768
      David Malcolm committed
    • lto-wrapper.c (ltrans_priorities): New static var. · b6e33d73
      
      	* lto-wrapper.c (ltrans_priorities): New static var.
      	(cmp_priority): New.
      	(run_gcc): Read priorities and if doing parallel build order
      	the Makefile by them.
      
      	* lto.c (cmp_partitions_size): Remove.
      	(lto_wpa_write_files): Also output priorities; do not sort partitions.
      	(cmp_partition_order): Move to ...
      	* lto-partition.c (cmp_partition_order): ...
      	(lto_1_to_1_map): Sort partitions.
      
      From-SVN: r259767
      Jan Hubicka committed