1. 18 Oct, 2018 18 commits
    • compiler: drop semicolons in export data · e8ce849a
          
          The export data, which is approximately readable and looks something
          like Go, was first implemented back when Go still used semicolons.
          Drop the semicolons, to make it look slightly more Go like and make it
          slightly smaller.
          
          This updates the compiler and the gccgoimporter package.
          
          This introduces a new version of the export data.  There are going to
          be more changes to the export data, so this version is still subject
          to change.
          
          Reviewed-on: https://go-review.googlesource.com/c/143018
      
      From-SVN: r265284
      Ian Lance Taylor committed
    • Fix (re)alloc of polymorphic arrays · d0477233
              PR fortran/87625
              * trans-array.c (gfc_is_reallocatable_lhs): Detect allocatable
              polymorphic arrays.
      
              PR fortran/87625
              * gfortran.dg/realloc_on_assign_31.f90: New file.
      
      From-SVN: r265283
      Tobias Burnus committed
    • udivmodsi4.c (__udivmodsi4): Rename to conform to coding standard. · a9a2fddb
      	* udivmodsi4.c (__udivmodsi4): Rename to conform to coding
      	standard.
      	* divmod.c: Update references to __udivmodsi4.
      	* udivmod.c: Ditto.
      	* udivhi3.c: New file.
      	* udivmodhi4.c: New file.
      	* config/pdp11/t-pdp11 (LIB2ADD): Add the new files.
      
      From-SVN: r265277
      Paul Koning committed
    • Improve -dumpversion and -dumpfullversion documentation · 616e0db9
      	* doc/invoke.texi (-dumpversion): Improve grammar.
      	(-dumpfullversion): Make more consistent with -dumpversion.
      
      From-SVN: r265276
      Jonathan Wakely committed
    • i386.c (ix86_emit_fp_unordered_jump): Set JUMP_LABEL to the jump insn. · b75dff03
      	* config/i386/i386.c (ix86_emit_fp_unordered_jump):
      	Set JUMP_LABEL to the jump insn.
      	(ix86_emit_i387_log1p): Use ix86_expand_branch to expand branch.
      	Predict emitted jump and add label to jump insn.
      
      From-SVN: r265274
      Uros Bizjak committed
    • Fix missing entry to gcc/ada/ChangeLog for r265240 · 23abcf78
      From-SVN: r265272
      David Malcolm committed
    • Fix ICE in substring-handling building 502.gcc_r (PR 87562) · 05d57d65
      In r264887 I broke the build of 502.gcc_r due to an ICE.
      The ICE occurs when generating a location for an sprintf warning within
      a string literal, where the sprintf call is in a macro.
      
      The root cause is a bug in the original commit of substring locations
      (r239175).  get_substring_ranges_for_loc has code to handle the case
      where the string literal is in a very long source line that exceeds the
      length that the current linemap can represent: the start of the token
      is in one line map, but then another line map is started, and the end
      of the token is in the new linemap.  get_substring_ranges_for_loc handles
      this by using the linemap of the end-point when building location_t
      values within the string.  When extracting the linemap for the endpoint
      in r239175 I erroneously used LRK_MACRO_EXPANSION_POINT, which should
      have instead been LRK_SPELLING_LOCATION.
      
      I believe this bug was dormant due to rejecting macro locations earlier
      in the function, but in r264887 I allowed some macro locations in order
      to deal with locations coming from the C++ lexer, and this uncovered
      the bug: if a string literal was defined in a macro, locations within
      the string literal would be looked up using the linemap of the expansion
      point of the macro, rather than of the spelling point.  This would lead
      to garbage location_t values, and, depending on the precise line numbers
      of the two locations, an assertion failure (which was causing the build
      failure in 502.gcc_r).
      
      This patch fixes the bug by using LRK_SPELLING_LOCATION, and adds some
      bulletproofing to the "two linemaps" case.
      
      Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu
      (g++.sum gained 5 PASS results; gcc.sum gained 3 PASS results).
      I also verified that this fixes the build of 502.gcc_r.
      
      gcc/ChangeLog:
      	PR tree-optimization/87562
      	* input.c (get_substring_ranges_for_loc): Use
      	LRK_SPELLING_LOCATION rather than LRK_MACRO_EXPANSION_POINT when
      	getting the linemap for the endpoint.  Verify that it's either
      	in the same linemap as the start point's spelling location, or
      	at least in the same file.
      
      gcc/testsuite/ChangeLog:
      	PR tree-optimization/87562
      	* c-c++-common/substring-location-PR-87562-1-a.h: New file.
      	* c-c++-common/substring-location-PR-87562-1-b.h: New file.
      	* c-c++-common/substring-location-PR-87562-1.c: New test.
      	* gcc.dg/plugin/diagnostic-test-string-literals-1.c: Add test for
      	PR 87562.
      	* gcc.dg/plugin/pr87562-a.h: New file.
      	* gcc.dg/plugin/pr87562-b.h: New file.
      
      From-SVN: r265271
      David Malcolm committed
    • PR libstdc++/87641 correctly initialize accumulator in valarray::sum() · fab2c75b
      Use the value of the first element as the initial value of the
      __valarray_sum accumulator. Value-initialization might not create the
      additive identity for the value type.
      
      Make a similar change to __valarray_product even though it's only ever
      used internally with a value_type of size_t.
      
      	PR libstdc++/87641
      	* include/bits/valarray_array.h (__valarray_sum): Use first element
      	to initialize accumulator instead of value-initializing it.
      	(__valarray_product<_Tp>): Move to ...
      	* src/c++98/valarray.cc (__valarray_product<_Tp>): Here. Use first
      	element to initialize accumulator.
      	(__valarray_product(const valarray<size_t>&)): Remove const_cast made
      	unnecessary by LWG 389.
      	* testsuite/26_numerics/valarray/87641.cc: New test.
      
      From-SVN: r265270
      Jonathan Wakely committed
    • i386.c (ix86_builtin_vectorization_cost): Do not feed width-specific load/store… · b7167993
      i386.c (ix86_builtin_vectorization_cost): Do not feed width-specific load/store costs through ix86_vec_cost.
      
      2018-10-18  Richard Biener  <rguenther@suse.de>
      
      	* config/i386/i386.c (ix86_builtin_vectorization_cost): Do not
      	feed width-specific load/store costs through ix86_vec_cost.
      	* config/i386/x86-tune-costs.h (athlon_cost): Adjust.
      	(k8_cost): Likewise.
      	(bdver_cost): Likewise.
      	(znver1_cost): Likewise.
      	(btver1_cost): Likewise.
      	(btver2_cost): Likewise.
      
      From-SVN: r265268
      Richard Biener committed
    • Call simplify_gen_subreg to simplify subreg of vec_merge · aff3ce41
      Simplify
      	(subreg (vec_merge (X)
      			   (vector)
      			   (const_int ((1 << N) | M)))
      		(N * sizeof (outermode)))
      to
      	(subreg (X) (N * sizeof (outermode)))
      
      	* simplify-rtx.c (simplify_subreg): Call simplify_gen_subreg
      	to simplify subreg of vec_merge.
      
      From-SVN: r265267
      H.J. Lu committed
    • i386.c: Fix costing of vector FMA. · 200045a9
      2018-10-18  Richard Biener  <rguenther@suse.de>
      
      	* config/i386/i386.c: Fix costing of vector FMA.
      
      From-SVN: r265266
      Richard Biener committed
    • i386.c (ix86_vec_cost): Remove !parallel path and argument. · b960e909
      2018-10-18  Richard Biener  <rguenther@suse.de>
      
      	* config/i386/i386.c (ix86_vec_cost): Remove !parallel path
      	and argument.
      	(ix86_builtin_vectorization_cost): For vec_construct properly
      	cost insertion into SSE regs.
      	(...): Adjust calls to ix86_vec_cost.
      
      From-SVN: r265265
      Richard Biener committed
    • re PR fortran/58618 (Wrong code with character substring and ASSOCIATE) · 75cdd535
      2018-10-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/58618
      	* trans-stmt.c (trans_associate_var): All strings that return
      	as pointer types can be assigned directly to the associate
      	name so remove 'attr' and the condition that uses it.
      
      2018-10-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/58618
      	* gfortran.dg/associate_45.f90 : New test.
      
      From-SVN: r265264
      Paul Thomas committed
    • re PR fortran/58618 (Wrong code with character substring and ASSOCIATE) · 75a6d7da
      2018-10-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/58618
      	* trans-decl.c (gfc_get_symbol_decl): Deal correctly with the
      	initialization with NULL() of a deferred length pointer.
      
      2018-10-18  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/58618
      	* gfortran.dg/deferred_character_30.f90 : New test.
      
      From-SVN: r265263
      Paul Thomas committed
    • re PR tree-optimization/87087 (Optimization hangs up and consumes over 15Gb of memory) · de0edf87
      2018-10-18  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/87087
      	Revert
      	2018-02-07  Richard Biener  <rguenther@suse.de>
      
              PR tree-optimization/84204
              * tree-chrec.c (chrec_fold_plus_1): Remove size limiting in
              this place.
      
      	* gcc.dg/torture/pr87087.c: New testcase.
      	* gcc.dg/graphite/pr84204.c: XFAIL.
      	* gcc.dg/graphite/pr85935.c: Likewise.
      
      From-SVN: r265261
      Richard Biener committed
    • Simplify subreg of vec_merge of vec_duplicate · 294973a4
      We can simplify
      
        (subreg (vec_merge (vec_duplicate X)
      		     (vector)
      		     (const_int ((1 << N) | M)))
      	  (N * sizeof (X)))
      
      to X when mode of X is the same as of mode of subreg.
      
      gcc/
      
      	PR target/87537
      	* simplify-rtx.c (simplify_subreg): Simplify subreg of vec_merge
      	of vec_duplicate.
      	(test_vector_ops_duplicate): Add test for a scalar subreg of a
      	VEC_MERGE of a VEC_DUPLICATE.
      
      gcc/testsuite/
      
      	PR target/87537
      	* gcc.target/i386/pr87537-1.c: New test.
      
      From-SVN: r265260
      H.J. Lu committed
    • revert: [multiple changes] · 7702ab65
      2018-10-18  François Dumont  <fdumont@gcc.gnu.org>
      
      	Partial revert.
      	2018-10-08  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/list (list<>::cbegin()): Use C++11 direct
      	initialization.
      	(list<>::cend()): Likewise.
      	(list<>::erase(const_iterator, const_iterator)): Ensure consistent
      	iterator comparisons.
      	(list<>::splice(const_iterator, list&&, const_iterator,
      	const_iterator)): Likewise.
      
      	Partial revert.
      	2018-10-15  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/vector (vector<>::cbegin()): Use C++11 direct
      	initialization.
      	(vector<>::cend()): Likewise.
      	(vector<>::insert(const_iterator, const _Tp&)): Use consistent
      	iterator comparison.
      	(vector<>::erase(const_iterator)): Likewise.
      	(vector<>::erase(const_iterator, const_iterator)): Likewise.
      
      From-SVN: r265259
      François Dumont committed
    • Daily bump. · 7bed4de2
      From-SVN: r265255
      GCC Administrator committed
  2. 17 Oct, 2018 16 commits
    • Add -std=c2x, -std=gnu2x, -Wc11-c2x-compat, C2X _Static_assert support. · 9f936c86
      Now new features are starting to be added to a C2X draft (in the C2x
      branch of the C standard git repository, no public WG14 document yet),
      it's time to add -std=c2x and associated options to GCC for use in
      enabling C2X features.
      
      This patch adds the expected set of options: -std=c2x, -std=gnu2x,
      -Wc11-c2x-compat.  A first C2X feature is added (the only one so far
      in the repository that's obviously relevant to GCC): support (as in
      C++) for the string constant to be omitted in _Static_assert.  This
      feature is duly also supported as an extension in earlier standard
      modes (diagnosed with -pedantic, unless -Wno-c11-c2x-compat is given,
      or with -Wc11-c2x-compat even in C2X mode).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc/
      	* doc/cpp.texi (__STDC_VERSION__): Document C2X handling.
      	* doc/invoke.texi (-std=c2x, -std=gnu2x): Document new options.
      	* doc/standards.texi (C Language): Document C2X.
      	* dwarf2out.c (highest_c_language), config/rl78/rl78.c
      	(rl78_option_override): Handle "GNU C2X" language name.
      
      gcc/c/
      	* c-errors.c (pedwarn_c11): New function.
      	* c-parser.c (disable_extension_diagnostics): Save
      	warn_c11_c2x_compat and set it to 0.
      	(restore_extension_diagnostics): Restore warn_c11_c2x_compat.
      	(c_parser_static_assert_declaration_no_semi): Handle
      	_Static_assert without string constant.
      	* c-tree.h (pedwarn_c11): New prototype.
      
      gcc/c-family/
      	* c-common.c (flag_isoc2x): New variable.
      	* c-common.h (clk_c): Update comment to reference C2X.
      	(flag_isoc99, flag_isoc11): Update comments to reference future
      	standard versions in general.
      	(flag_isoc2x): Declare.
      	* c-opts.c (set_std_c2x): New function.
      	(c_common_handle_option): Handle -std=c2x and -std=gnu2x.
      	(set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
      	flag_isoc2x to 0.
      	* c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
      
      gcc/testsuite/
      	* gcc.dg/c11-static-assert-7.c, gcc.dg/c11-static-assert-8.c,
      	gcc.dg/c11-static-assert-9.c, gcc.dg/c2x-static-assert-1.c,
      	gcc.dg/c2x-static-assert-2.c, gcc.dg/c99-static-assert-2.c,
      	gcc.dg/gnu2x-static-assert-1.c: New tests.
      	* gcc.dg/missing-symbol-3.c: Update expected fix-it text.
      
      libcpp/
      	* include/cpplib.h (enum c_lang): Add CLK_GNUC2X and CLK_STDC2X.
      	* init.c (lang_defaults): Add GNUC2X and STDC2X entries.
      	(cpp_init_builtins): Define __STDC_VERSION__ to 202000L for C2X.
      
      From-SVN: r265251
      Joseph Myers committed
    • Update C17 option descriptions not to say "expected to be published". · 7a8a92c4
      	* c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
      	(std=iso9899:2018): Document C17 as published in 2018.
      
      From-SVN: r265250
      Joseph Myers committed
    • Update manual references for C17 having been published. · 7dc41f3d
      This patch makes references in the manual to C17 reflect it having
      been published in July 2018.  (For the reasons it took so long to get
      to ballot and publication, see the WG14 convenor's report to the last
      SC22 plenary - SC22 N5297 - where it references "A troubling new trend
      where ISO CS has begun enforcing undocumented rules that are approved
      neither by the TMB nor by the WG 14 editors, leading to a decrease in
      the usefulness of standards documents.".)
      
      Tested with "make info html pdf".
      
      	* doc/invoke.texi (-std=c17), doc/standards.texi (C Language):
      	Document C17 as published in 2018.
      
      From-SVN: r265249
      Joseph Myers committed
    • Fix select-type regression · 91f9b2e0
              PR fortran/87632
              * resolve.c (resolve_select_type): Use correct variable.
      
              PR fortran/87632
              * gfortran.dg/select_type_47.f90: New.
      
      From-SVN: r265248
      Tobias Burnus committed
    • re PR libstdc++/87619 (sizeof(std::variant) can be reduced if its variant_size is UCHAR_MAX) · 4026227f
      PR libstdc++/87619
      
      * include/std/variant (__select_index): Fix an off-by-one.
      * testsuite/20_util/variant/87619.cc: New.
      
      From-SVN: r265247
      Ville Voutilainen committed
    • libgcc: apply LIB2FUNCS_EXCLUDE logic to LIB2FUNCS_ST · fc8abc46
      One target file (config/c6x/t-elf) lists _printf and _gcc_bcmp in
      LIB2FUNCS_EXCLUDE, but that does not have any effect, since those are
      not filtered away from LIB2FUNCS_ST. Another option is to do as in
      config/rl78/t-rl78, which explicitly sets LIB2FUNCS_ST
      
      # Remove __gcc_bcmp from LIB2FUNCS_ST
      LIB2FUNCS_ST = _eprintf
      
      but honouring LIB2FUNCS_EXCLUDE also for LIB2FUNCS_ST seems more
      natural.
      
      From-SVN: r265246
      Rasmus Villemoes committed
    • re PR middle-end/87623 (bytes swapped in register when comparing cause fail when… · 1906e1a6
      re PR middle-end/87623 (bytes swapped in register when comparing cause fail when compiled with  -O1 or higher)
      
      	PR middle-end/87623
      	* fold-const.c (fold_truth_andor_1): If the right side is not constant,
      	bail out if both sides do not have the same storage order.
      
      From-SVN: r265242
      Eric Botcazou committed
    • bitmap.c (bitmap_head::dump): New. · 54994253
      	* bitmap.c (bitmap_head::dump): New.
      	* bitmap.h (bitmap_head): Add dump().
      	* gimple-ssa-evrp-analyze.c
      	(evrp_range_analyzer::try_find_new_range): Adjust for value_range API.
      	(evrp_range_analyzer::set_ssa_range_info): Same.
      	(evrp_range_analyzer::record_ranges_from_phis): Same.
      	(evrp_range_analyzer::record_ranges_from_stmt): Same.
      	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Same.
      	* gimple-ssa-sprintf.c (get_int_range): Same.
      	(format_integer): Same.
      	(sprintf_dom_walker::handle_gimple_call): Same.
      	* ipa-cp.c (ipcp_vr_lattice::meet_with_1): Same.
      	(ipcp_vr_lattice::top_p): Same.
      	(ipcp_vr_lattice::bottom_p): Same.
      	(ipcp_vr_lattice::set_to_bottom): Same.
      	(ipa_vr_operation_and_type_effects): Same.
      	(propagate_vr_across_jump_function): Same.
      	(ipcp_store_vr_results): Same.
      	* ipa-prop.c (struct ipa_vr_ggc_hash_traits): Same.
      	(ipa_print_node_jump_functions_for_edge): Same.
      	(ipa_get_value_range): Same.
      	(ipa_compute_jump_functions_for_edge): Same.
      	(ipa_write_jump_function): Same.
      	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Same.
      	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
      	Same.
      	* vr-values.c (set_value_range_to_nonnegative): Same.
      	(set_value_range_to_truthvalue): Same.
      	(vr_values::get_value_range): Same.
      	(vr_values::set_defs_to_varying): Same.
      	(vr_values::update_value_range): Same.
      	(symbolic_range_based_on_p): Same.
      	(vr_values::op_with_boolean_value_range_p): Same.
      	(vr_values::extract_range_for_var_from_comparison_expr): Same.
      	(vr_values::extract_range_from_ssa_name): Same.
      	(vr_values::extract_range_from_binary_expr): Same.
      	(vr_values::extract_range_from_unary_expr): Same.
      	(vr_values::extract_range_from_cond_expr): Same.
      	(vr_values::extract_range_from_comparison): Same.
      	(vr_values::check_for_binary_op_overflow): Same.
      	(vr_values::extract_range_basic): Same.
      	(vr_values::extract_range_from_assignment): Same.
      	(compare_ranges): Same.
      	(compare_range_with_value): Same.
      	(vr_values::adjust_range_with_scev): Same.
      	(vrp_valueize): Same.
      	(vrp_valueize_1): Same.
      	(vr_values::get_vr_for_comparison): Same.
      	(vr_values::compare_name_with_value): Same.
      	(vr_values::compare_names): Same.
      	(vr_values::vrp_evaluate_conditional): Same.
      	(find_case_label_ranges): Same.
      	(vr_values::vrp_visit_switch_stmt): Same.
      	(vr_values::extract_range_from_phi_node): Same.
      	(vr_values::simplify_div_or_mod_using_ranges): Same.
      	(vr_values::simplify_bit_ops_using_ranges): Same.
      	(test_for_singularity): Same.
      	(range_fits_type_p): Same.
      	(vr_values::simplify_cond_using_ranges_1): Same.
      	(vr_values::simplify_switch_using_ranges): Same.
      	(vr_values::simplify_float_conversion_using_ranges): Same.
      	(vr_values::two_valued_val_range_p): Same.
      	(vr_values::add_equivalence): Move to value_range::equiv_add.
      	* vr-values.h (vr_values::add_equivalence): Remove.
      	(VR_INITIALIZER): Remove.
      	* tree-vrp.c (value_range::set): New.
      	(value_range::equiv_add): New.
      	(value_range::value_range): New.
      	(value_range::deep_copy): New.
      	(value_range::check): New.
      	(value_range::equal_p): New.
      	(value_range::ignore_equivs_equal_p): New.
      	(value_range::operator==): New.
      	(value_range::operator!=): New.
      	(value_range::symbolic_p): New.
      	(value_range::numeric_p): New.
      	(value_range::set_undefined): New.
      	(value_range::set_varying): New.
      	(value_range::may_contain_p): New.
      	(value_range::equiv_clear): New.
      	(value_range::singleton_p): New.
      	(value_range::intersect): New.
      	(value_range::dump): New.
      	(value_range::set_and_canonicalize): New.
      	(set_value_range): Adjust for value_range API.
      	(set_value_range_to_undefined): Same.
      	(set_value_range_to_varying): Same.
      	(set_and_canonicalize_value_range): Same.
      	(set_value_range_to_nonnull): Same.
      	(set_value_range_to_null): Same.
      	(range_is_null): Same.
      	(range_is_nonnull): Same.
      	(range_int_cst_p): Same.
      	(range_int_cst_singleton_p): Same.
      	(symbolic_range_p): Same.
      	(range_includes_zero_p): Same.
      	(value_range_constant_singleton): Same.
      	(vrp_set_zero_nonzero_bits): Same.
      	(ranges_from_anti_range): Same.
      	(extract_range_into_wide_ints): Same.
      	(extract_range_from_multiplicative_op): Same.
      	(set_value_range_with_overflow): Same.
      	(extract_range_from_binary_expr_1): Same.
      	(extract_range_from_unary_expr): Same.
      	(dump_value_range): Same.
      	(debug_value_range): Same.
      	(vrp_prop::check_array_ref): Same.
      	(vrp_prop::check_mem_ref): Same.
      	(vrp_prop::vrp_initialize): Same.
      	(vrp_prop::visit_stmt): Same.
      	(intersect_ranges): Same.
      	(vrp_prop::visit_phi): Same.
      	(vrp_prop::vrp_finalize): Same.
      	(determine_value_range_1): Same.
      	(determine_value_range): Same.
      	(vrp_intersect_ranges_1): Rename to...
      	(vrp_intersect_1): this.
      	(vrp_intersect_ranges): Rename to...
      	(value_range::intersect_helper): ...this.
      	(vrp_meet_1): Rename to...
      	(value_range::union_helper): ...this.
      	(vrp_meet): Rename to...
      	(value_range::union_): ...this.
      	(copy_value_range): Remove.
      	* tree-vrp.h (struct value_range): Rewrite into a proper class.
      	(value_range::vrtype): New.
      	(value_range::type): New.
      	(value_range::equiv): New.
      	(value_range::min): New.
      	(value_range::max): New.
      	(value_range::varying_p): New.
      	(value_range::undefined_p): New.
      	(value_range::null_p): New.
      	(value_range::equiv_add): New.
      	(copy_value_range): Remove.
      
      From-SVN: r265241
      Aldy Hernandez committed
    • Run selftests for C++ as well as C · 033eb567
      gcc/ChangeLog:
      	* Makefile.in (SELFTEST_TARGETS): New.
      	(selftest) Change from s-selftest-c to $(SELFTEST_TARGETS).
      	(C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb)
      	(selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move to
      	c/Make-lang.in.
      	(CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++)
      	(selftest-c++-gdb, selftest-c++-valgrind): Move to
      	cp/Make-lang.in.
      	* configure: Regenerate.
      	* configure.ac (selftest_languages): New.
      
      gcc/brig/ChangeLog:
      	* Make-lang.in (selftest-brig): New.
      
      gcc/c/ChangeLog:
      	* Make-lang.in (selftest-c): New.
      	(C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb)
      	(selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move here
      	from gcc/Makefile.in.
      
      gcc/cp/ChangeLog:
      	* Make-lang.in (selftest-c++): New.
      	(CPP_SELFTEST_FLAGS, CPP_SELFTEST_DEPS, s-selftest-c++)
      	(selftest-c++-gdb, selftest-c++-valgrind): Move here from
      	gcc/Makefile.in.
      
      gcc/fortran/ChangeLog:
      	* Make-lang.in (selftest-fortran): New.
      
      gcc/go/ChangeLog:
      	* Make-lang.in (selftest-go): New.
      
      gcc/jit/ChangeLog:
      	* Make-lang.in (selftest-jit): New.
      
      gcc/lto/ChangeLog:
      	* Make-lang.in (selftest-lto): New.
      
      gcc/objc/ChangeLog:
      	* Make-lang.in (selftest-objc): New.
      
      gcc/objcp/ChangeLog:
      	* Make-lang.in (selftest-obj-c++): New.
      
      From-SVN: r265240
      David Malcolm committed
    • tree-vrp.c (extract_range_from_multiplicative_op): Remove overflow wraps argument. · e8f1d5cb
              * tree-vrp.c (extract_range_from_multiplicative_op): Remove
      	overflow wraps argument.
              (extract_range_from_binary_expr_1): Do not pass overflow wraps to
      	wide_int_range_multiplicative_op.
              * wide-int-range.cc (wide_int_range_mult_wrapping): Remove
      	overflow wraps argument.
              (wide_int_range_multiplicative_op): Same.
              (wide_int_range_lshift): Same.
              (wide_int_range_div): Same.
              * wide-int-range.h (wide_int_range_multiplicative_op): Same.
              (wide_int_range_lshift): Same.
              (wide_int_range_div): Same.
      
      From-SVN: r265238
      Aldy Hernandez committed
    • wide-int-range.h (wide_int_range_shift_undefined_p): Adjust to use sign as argument. · fa6b20f3
      	* wide-int-range.h (wide_int_range_shift_undefined_p): Adjust to
      	use sign as argument.
      	* tree-vrp.c (extract_range_from_binary_expr_1): Pass sign to
      	wide_int_range_shift_undefined_p.
      
      From-SVN: r265237
      Aldy Hernandez committed
    • 2018-10-17 Paolo Carlini <paolo.carlini@oracle.com> · cd1e244a
      	* Fix typo in ChangeLog.
      
      From-SVN: r265234
      Paolo Carlini committed
    • re PR c++/84705 (internal compiler error: in add_stmt, at cp/semantics.c:390) · 2be99998
      /cp
      2018-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84705
      	* init.c (build_cplus_new): Avoid duplicate diagnostic about
      	incomplete type, early return error_mark_node if the second
      	argument is error_mark_node.
      
      /testsuite
      2018-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84705
      	* g++.dg/cpp0x/pr84705.C: New.
      
      From-SVN: r265233
      Paolo Carlini committed
    • re PR fortran/56386 ([F03] ICE with ASSOCIATE construct and an derived type array component) · ece66526
      2018-10-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/56386
      	PR fortran/58906
      	PR fortran/77385
      	PR fortran/80260
      	PR fortran/82077
      	* resolve.c (resolve_variable): Fix up expressions with array
      	associate names, where the parser did not detect that this is
      	array and there was no array part_ref in the expression.
      
      2018-10-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/56386
      	PR fortran/58906
      	PR fortran/77385
      	* gfortran.dg/associate_44.f90 : New test.
      
      	PR fortran/80260
      	* gfortran.dg/select_type_45.f90 : New test.
      
      	PR fortran/82077
      	* gfortran.dg/select_type_46.f90 : New test.
      
      From-SVN: r265232
      Paul Thomas committed
    • Daily bump. · 17d6b74d
      From-SVN: r265228
      GCC Administrator committed
    • * es.po: Update. · 9419a8e2
      From-SVN: r265223
      Joseph Myers committed
  3. 16 Oct, 2018 6 commits
    • Fix regression in std::random_device default constructor · ec2e0ad5
      When the default constructor was split out into a separate function (in
      r261522) I accidentally  made it call _M_init("mt19937") instead of
      _M_init_pretr1("mt19937"). That means it will always throw an exception,
      because "mt19937" isn't a valid token accepted by the _M_init function.
      Restore the original behaviour by calling _M_init_pretr1("mt19937").
      
      	* include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
      	Fix default constructor to call correct function.
      
      From-SVN: r265218
      Jonathan Wakely committed
    • Extend source-expr test case · 01982cfb
              PR fortran/67125
              * gfortran.dg/allocate_with_source_26.f90: Extend
              testcase with polymorphic variables.
      
      From-SVN: r265215
      Tobias Burnus committed
    • Fix bounds with ALLOCATE with source-expr · c1525930
              PR fortran/67125
              * trans-array.c (gfc_array_init_size, gfc_array_allocate):
              Rename argument e3_is_array_constr to e3_has_nodescriptor
              and update comments.
              * trans-stmt.c (gfc_trans_allocate): Also fix lower bound
              to 1 for nonalloc/nonpointer func results/vars besides
              array constructors.
      
              PR fortran/67125
              * gfortran.dg/allocate_with_source_26.f90: New.
      
      From-SVN: r265212
      Tobias Burnus committed
    • Handle form_team w/ function args · 91ab2a1d
              PR fortran/87556
              * trans-stmt.c (form_team, change_team, sync_team):
              Don't ignore argse.pre/argse.post.
      
      From-SVN: r265211
      Tobias Burnus committed
    • [AArch64] Use @ pattern to eliminate switch statement in one more place · 21cebf90
      We can use the new '@' modifier to MD patterns to generate mode-parametrised gen_ functions
      for the despeculate_copy patterns and therefore remove the switch on modes in aarch64.c
      that is used to pick the right generator. This simplifies the code. 
      
      	* config/aarch64/aarch64.md (despeculate_copy<ALLI_TI:mode>):
      	Rename to...
      	(@despeculate_copy<ALLI_TI:mode>): ... This.
      	* config/aarch64/aarch64.c (aarch64_speculation_safe_value): Remove
      	switch statement.
      
      From-SVN: r265210
      Kyrylo Tkachov committed
    • Rename namespace alias in test to avoid name collision · 436ea0e5
      	* testsuite/experimental/net/internet/address/v4/creation.cc: Do not
      	declare ip in global namespace, to avoid collision with struct ip
      	defined in <netinet/ip.h>.
      
      From-SVN: r265205
      Jonathan Wakely committed