1. 15 Jun, 2018 10 commits
    • Only define __cpp_lib_constexpr_char_traits for C++17 · 5a95794c
      	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
      	define for C++17 and above.
      
      From-SVN: r261634
      Jonathan Wakely committed
    • Force user provided warning and error messages to only occupy one line. · 490cced4
       	PR 84195
      gcc: 	* tree.c (escaped_string): New class.  Converts an unescaped
       	string into its escaped equivalent.
       	(warn_deprecated_use): Use the new class to convert the
       	deprecation message, if present.
       	(test_escaped_strings): New self test.
       	(test_c_tests): Add test_escaped_strings.
       	* doc/extend.texi (deprecated): Add a note that the
       	deprecation message is affected by the -fmessage-length
       	option, and that control characters will be escaped.
       	(#pragma GCC error): Document this pragma.
       	(#pragma GCC warning): Likewise.
       	* doc/invoke.texi (-fmessage-length): Document this option's
       	effect on the #warning and #error preprocessor directives and
       	the deprecated attribute.
      	
      testsuite;
       	* gcc.c-torture/compile/pr84195.c: New test.
      
      From-SVN: r261633
      Nick Clifton committed
    • LWG 2993 reference_wrapper<T> conversion from T&& · 7f93abd8
      	* doc/xml/manual/intro.xml: Document LWG 2993 change.
      	* include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove.
      	(reference_wrapper(_Tp&&)): Remove.
      	(reference_wrapper<_Up>(_Up&&)): Define new constructor as constrained
      	template.
      	(reference_wrapper): Add deduction guide.
      	* testsuite/20_util/reference_wrapper/deduction.cc: New.
      	* testsuite/20_util/reference_wrapper/lwg2993.cc: New.
      
      From-SVN: r261632
      Jonathan Wakely committed
    • tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS here, also noting vector size used. · d1ac60d5
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS
      	here, also noting vector size used.
      	* tree-vectorizer.c (vectorize_loops): Adjust.  Note vector
      	size used in MSG_OPTIMIZED_LOCATIONS dump.
      	(pass_slp_vectorize::execute): Adjust.
      
      From-SVN: r261626
      Richard Biener committed
    • [ARC] Fix warning in arc_return_address_register. · 738cb232
      The if condition in arc_return_address_register which selects the arc
      return address is not correct. The issue is signalized in bugzilla 85968.
      
      gcc/
      2018-06-15  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_return_address_register): Fix if-condition.
      
      From-SVN: r261623
      Claudiu Zissulescu committed
    • re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect… · fa685231
      re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect type of vector CONSTRUCTOR elements)
      
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/86159
      	* tree-cfg.c (gimplify_build3): Do not strip sign conversions,
      	leave useless conversion stripping to force_gimple_operand_gsi.
      	(gimplify_build2): Likewise.
      	(gimplify_build1): Likewise.
      
      	* g++.dg/pr86159.C: New testcase.
      
      From-SVN: r261622
      Richard Biener committed
    • re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location… · 5b32ec10
      re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location references block not in block tree))
      
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/86076
      	* tree-cfg.c (move_stmt_op): unshare invariant addresses
      	before adjusting their block.
      
      	* gcc.dg/pr86076.c: New testcase.
      
      From-SVN: r261620
      Richard Biener committed
    • RISC-V: Add custom RTEMS multilibs · a8ef8061
      Add multilib variants for -march=rv64imafd, e.g. to support the BOOMv2 core.
      
      Add -mcmodel=medany as a variant of the 64-bit multilibs for RTEMS.  The
      rationale for this change is that several existing RISC-V chips map the
      RAM at 0x80000000.  In RTEMS, we do not use virtual memory, so
      applications will run at this location which is outside the +-2GiB range
      in a 64-bit configuration.
      
      gcc/
      	* config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom
      	multilibs for *-*-rtems*.
      	* config/riscv/t-rtems: New file.
      
      From-SVN: r261619
      Sebastian Huber committed
    • LWG 3039 Unnecessary decay in thread and packaged_task · cb4f9a8c
      	* include/std/future (__constrain_pkgdtask): Replace with ...
      	(packaged_task::__not_same): New alias template, using
      	__remove_cvref_t instead of decay.
      	* include/std/thread (thread::__not_same): Add comment.
      
      From-SVN: r261618
      Jonathan Wakely committed
    • Daily bump. · 024e96b9
      From-SVN: r261617
      GCC Administrator committed
  2. 14 Jun, 2018 19 commits
    • re PR c++/86063 (g++ ICE at tree check: expected tree_list, have… · cf4763bd
      re PR c++/86063 (g++ ICE at  tree check: expected tree_list, have expr_pack_expansion in cp_check_const_attributes, at cp/decl2.c:1391)
      
      	PR c++/86063
      	* decl2.c (cp_check_const_attributes): Skip trees that are not
      	TREE_LISTs.
      
      	* g++.dg/cpp0x/gen-attrs-65.C: New test.
      
      From-SVN: r261613
      Marek Polacek committed
    • LWG 3075 basic_string needs deduction guides from basic_string_view · 53e926c8
      	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
      	deduction from string views.
      	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
      	Likewise.
      
      From-SVN: r261612
      Jonathan Wakely committed
    • LWG 3074 make scalar types non-deduced in valarray non-member functions · db5ab3aa
      	* include/bits/valarray_after.h (_DEFINE_EXPR_BINARY_FUNCTION): Change
      	scalar parameters to be a non-deduced context.
      	* include/std/valarray (_DEFINE_BINARY_OPERATOR): Likewise. Adjust
      	whitespace.
      	* testsuite/26_numerics/valarray/operators.cc: Test scalar operands.
      	* testsuite/26_numerics/valarray/transcend.cc: New.
      
      From-SVN: r261610
      Jonathan Wakely committed
    • re PR target/86048 (.seh_savexmm offset is negative error when compiling libpng) · bf759537
      	PR target/86048
      	* gcc.target/i386/pr86048.c: Require sse2 effective target.  Add
      	-msse2 to dg-options.
      
      From-SVN: r261608
      Jakub Jelinek committed
    • re PR middle-end/86122 (ICE in useless_type_conversion_p, at gimple-expr.c:87) · 48fcd201
      	PR middle-end/86122
      	* match.pd ((A +- CST1) +- CST2): Punt if last resort
      	unsigned_type_for returns NULL.
      
      	* gcc.c-torture/compile/pr86122.c: New test.
      
      From-SVN: r261606
      Jakub Jelinek committed
    • P0624R2 - Default constructible and assignable stateless lambdas · bc04d1ff
      	P0624R2 - Default constructible and assignable stateless lambdas
      	* method.c (synthesized_method_walk): For C++2a don't mark
      	sfk_constructor or sfk_copy_assignment as deleted if lambda has
      	no lambda-captures.
      
      	* g++.dg/cpp2a/lambda1.C: New test.
      	* g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust expected diagnostics
      	for -std=c++2a.
      
      From-SVN: r261605
      Jakub Jelinek committed
    • Partially revert move of std::tuple_element_t to <tuple> · 2d26d4ce
      Defining std::tuple_element_t in <utility> makes it available wherever
      std::tuple_element is available.
      
      	* include/std/tuple (__cpp_lib_tuple_element_t, tuple_element_t):
      	Move back to <utility>.
      	* include/std/utility (__cpp_lib_tuple_element_t. tuple_element_t):
      	Restore to here.
      
      From-SVN: r261604
      Jonathan Wakely committed
    • decl.c (duplicate_decls): Use DECL_SOURCE_LOCATION in OPT_Wshadow warning_at. · d4d44753
      /cp
      2018-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (duplicate_decls): Use DECL_SOURCE_LOCATION in
      	OPT_Wshadow warning_at.
      	(grokfndecl): Consistently use the location_t argument in
      	literal operator diagnostic messages.
      	(grokdeclarator): Use declspecs->locations[ds_storage_class]
      	in error_at call.
      	* decl2.c (finish_static_data_member_decl): Use DECL_SOURCE_LOCATION
      	in permerror call.
      
      /testsuite
      2018-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/other/static3.C: New.
      	* g++.dg/other/static4.C: Likewise.
      	* g++.dg/warn/Wshadow-15.C: Likewise.
      	* g++.dg/cpp0x/gnu_fext-numeric-literals.C: Test locations too.
      	* g++.dg/cpp0x/std_fext-numeric-literals.C: Likewise.
      	* g++.dg/cpp0x/std_fno-ext-numeric-literals.C: Likewise.
      	* g++.dg/cpp0x/udlit-args-neg.C: Likewise.
      	* g++.dg/cpp0x/udlit-clink-neg.C: Likewise.
      	* g++.dg/cpp0x/udlit-extern-c.C: Likewise.
      	* g++.dg/cpp0x/udlit-member-neg.C: Likewise.
      
      From-SVN: r261601
      Paolo Carlini committed
    • P0935R0 Eradicating unnecessarily explicit default constructors · e9ecac30
      More pieces of P0935R0, making default constructors non-explicit.
      
      	* include/backward/strstream (strstreambuf): Add non-explicit default
      	constructor.
      	* include/bits/locale_conv.h (wbuffer_convert, wstring_convert):
      	Likewise.
      	* include/bits/regex.h (match_results): Likewise.
      	* testsuite/22_locale/conversions/buffer/1.cc: Test for non-explicit
      	default constructor.
      	* testsuite/22_locale/conversions/string/1.cc: Likewise.
      	* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
      	* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
      
      From-SVN: r261597
      Jonathan Wakely committed
    • Define __cpp_lib_tuple_element_t in <tuple> not <utility> · 74755c6a
      	* include/std/tuple (__cpp_lib_tuple_element_t): Move feature test
      	macro from <utility> and change type to long.
      	* include/std/utility (__cpp_lib_tuple_element_t): Remove.
      	* testsuite/20_util/tuple/tuple_element_t.cc: Check for feature test
      	macro.
      
      From-SVN: r261596
      Jonathan Wakely committed
    • re PR target/85945 (ICE in resolve_subreg_use, at lower-subreg.c:751) · 75b5bc01
      	PR target/85945
      	* lower-subreg.c (find_decomposable_subregs): Don't decompose float
      	subregs of multi-word pseudos unless the float mode has word size.
      
      	* gcc.c-torture/compile/pr85945.c: New test.
      
      From-SVN: r261593
      Jakub Jelinek committed
    • P0935R0 Eradicating unnecessarily explicit default constructors · 977ac63e
      The param_type constructors of each random number distribution should
      mirror the constructors of the distribution itself, so make the same
      changes w.r.t explicit on default constructors.
      
      	* include/bits/random.h (uniform_real_distribution::param_type)
      	(normal_distribution::param_type, lognormal_distribution::param_type)
      	(gamma_distribution::param_type, chi_squared_distribution::param_type)
      	(cauchy_distribution::param_type, fisher_f_distribution::param_type)
      	(student_t_distribution::param_type)
      	(bernoulli_distribution::param_type)
      	(binomial_distribution::param_type)
      	(geometric_distribution::param_type)
      	(negative_binomial_distribution::param_type)
      	(poisson_distribution::param_type)
      	(exponential_distribution::param_type)
      	(weibull_distribution::param_type)
      	(extreme_value_distribution::param_type): Add non-explicit default
      	constructors. Remove default argument for first parameter of explicit
      	constructors.
      	* include/bits/uniform_int_dist.h
      	(uniform_int_distribution::param_type): Likewise.
      	* include/ext/random
      	(beta_distribution::param_type, rice_distribution::param_type)
      	(nakagami_distribution::param_type, pareto_distribution::param_type)
      	(k_distribution::param_type, arcsine_distribution::param_type)
      	(hoyt_distribution::param_type, triangular_distribution::param_type)
      	(von_mises_distribution::param_type)
      	(hypergeometric_distribution::param_type)
      	(logistic_distribution::param_type)
      	(uniform_inside_sphere_distribution::param_type): Likewise.
      	(uniform_on_sphere_distribution::param_type): Make default constructor
      	non-explicit.
      	* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
      	Test param_type for non-explicit default constructor.
      	* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
      	* testsuite/ext/random/triangular_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
      	Likewise.
      	* testsuite/ext/random/von_mises_distribution/cons/default.cc:
      	Likewise.
      
      From-SVN: r261592
      Jonathan Wakely committed
    • Fix errors in libstdc++-v3/ChangeLog entries. · 8513bec3
      From-SVN: r261589
      Jonathan Wakely committed
    • re PR target/86139 (ICE in in store_constructor, at expr.c:6849 on arm-linux-gnueabihf) · bb4291d9
      2018-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/86139
      	* tree-vect-generic.c (build_word_mode_vector_type): Remove
      	duplicate and harmful type_hash_canon.
      	* tree.c (type_hash_canon): Assert we didn't find ourselves.
      
      From-SVN: r261588
      Richard Biener committed
    • re PR ipa/86124 (ICE in create_variable_info_for, at tree-ssa-structalias.c:6123) · a16fa075
      2018-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/86124
      	* tree-ssa-struct-alias.c (create_variable_info_for): Handle
      	NULL cgraph_node.
      
      	* gcc.dg/pr86124.c: New testcase.
      
      From-SVN: r261587
      Richard Biener committed
    • PR libstdc++/83982 fix exception-safety guarantee of std::vector::resize · 4c1d999a
      Construct new elements before moving existing ones, so that if a default
      constructor throws, the existing elements are not left in a moved-from
      state.
      
      2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/83982
      	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
      	Default-construct new elements before moving existing ones.
      	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
      	New.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r261585
      Daniel Trebbien committed
    • RTEMS: Prefer int for int32_t · c7a42ade
      Common systems like glibc and FreeBSD define int32_t to int.  This means
      a lot of third party code works well in these cases:
      
        #include <stdint.h>
      
        void f(int32_t);
      
        void f(int);
      
        void g(int32_t *);
      
        void h(void)
        {
          int i;
          g(&i);
        }
      
      On RTEMS you got however in C
      
        test.c:5:6: error: conflicting types for 'f'
          void f(int);
              ^
        test.c:3:6: note: previous declaration of 'f' was here
          void f(int32_t);
              ^
        test.c: In function 'h':
        test.c:12:4: warning: passing argument 1 of 'g' from incompatible
        pointer type [-Wincompatible-pointer-types]
          g(&i);
            ^
        test.c:7:6: note: expected 'int32_t * {aka long int *}' but argument
        is of type 'int *' void g(int32_t *);
      
      and C++
      
        test.c: In function 'void h()':
        test.c:12:4: error: invalid conversion from 'int*' to 'int32_t* {aka
        long int*}' [-fpermissive]
          g(&i);
            ^~
        test.c:7:6: note:   initializing argument 1 of 'void g(int32_t*)'
          void g(int32_t *);
            ^
      
      This was due to a Newlib speciality which uses long for int32_t if long
      is a 32-bit type.  To ease the use of third party software in RTEMS we
      override this Newlib option now and use int for int32_t if int is a
      32-bit type.
      
      gcc/
      	* config/rtems.h (STDINT_LONG32): Define.
      
      From-SVN: r261582
      Sebastian Huber committed
    • Daily bump. · 6c07e439
      From-SVN: r261580
      GCC Administrator committed
    • PR c++/86099 - ICE with trivial copy and non-trivial default ctor. · 4fdda3ce
      	* constexpr.c (instantiate_cx_fn_r): Don't synthesize trivial
      	constructors.
      
      From-SVN: r261576
      Jason Merrill committed
  3. 13 Jun, 2018 11 commits
    • c-opts.c (c_common_post_options): Warn about useless -Wabi. · 5cef3733
      	* c-opts.c (c_common_post_options): Warn about useless -Wabi.
      
      	(c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
      	handling.
      
      From-SVN: r261571
      Jason Merrill committed
    • MIPS: Add support for P6600. · 30c0ee9c
      gcc/ChangeLog:
      
      2018-06-13  Matthew Fortune  <matthew.fortune@mips.com>
                  Prachi Godbole  <prachi.godbole@imgtec.com>
      
      	* config/mips/mips-cpus.def: Define P6600.
      	* config/mips/mips-tables.opt: Regenerate.
      	* config/mips/mips.c (mips_ucbranch_type): New enum.
      	(mips_rtx_cost_data): Add support for P6600.
      	(mips_issue_rate): Likewise.
      	(mips_multipass_dfa_lookahead): Likewise.
      	(mips_avoid_hazard): Likewise.
      	(mips_reorg_process_insns): Likewise.
      	(mips_classify_branch_p6600): New function.
      	* config/mips/mips.h (TUNE_P6600): New define.
      	(MIPS_ISA_LEVEL_SPEC): Infer mips64r6 from p6600.
      	(ENABLE_LD_ST_PAIRS): Enable load/store bonding for p6600.
      	* config/mips/mips.md: Include p6600.md.
      	(processor): Add p6600.
      	* config/mips/p6600.md: New file.
      	* doc/invoke.texi: Add p6600 to supported architectures.
      
      Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com>
      
      From-SVN: r261570
      Matthew Fortune committed
    • compiler: avoid introducing redundant write barriers · 1df5fce4
          
          The traversal used by the write barrier insertion phase can sometimes
          wind up visiting new statements inserted during the traversal, which
          then results in duplicate / redundant write barrier guards. Example
          program to reproduce:
          
            package small
            type S struct {
                  N *S
                  K int
            }
            var G *S = &S{N: nil, K: 101}
          
          This patch changes the traversal code to keep track of statements
          already added and avoid processing them again later in the traversal.
          
          Fixes golang/go#25867
          
          Reviewed-on: https://go-review.googlesource.com/118637
      
      From-SVN: r261568
      Ian Lance Taylor committed
    • PR tree-optimization/86114 - ICE in gimple_fold_builtin_strlen with an invalid call to strnlen · a7bf6c08
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/86114
      	* gcc.dg/pr86114.c: New test.
      
      gcc/ChangeLog:
      
      	PR tree-optimization/86114
      	* gimple-fold.c (gimple_fold_builtin_strlen): Only handle LHS
      	of integer types.
      	* tree-ssa-strlen.c (maybe_set_strlen_range): Same.
      
      From-SVN: r261567
      Martin Sebor committed
    • 2018-06-13 François Dumont <fdumont@gcc.gnu.org> · eb04ee1d
      	* include/debug/helper_functions.h
      	(__gnu_debug::_Safe_iterator<>): Add declaration.
      	(__can_advance(_Ite, _Size)): New.
      	(__can_advance(const _Safe_iterator<>&, _Size)): Overload declaration.
      	* include/debug/functions.h
      	(__gnu_debug::_Safe_iterator<>): Remove declaration.
      	* include/debug/stl_iterator.h
      	(__can_advance(const _Safe_iterator<>&)): New definition.
      	* include/debug/stl_iterator.h
      	(__can_advance(const std::reverse_iterator<>&, _Size)): New.
      	(__can_advance(const std::move_iterator<>&, _Size)): New.
      	* include/debug/macros.h (__glibcxx_check_can_increment): New.
      	* include/debug/debug.h (__glibcxx_requires_can_increment): New.
      	* include/bits/stl_algobase.h (fill_n): Use latter.
      	* testsuite/25_algorithms/fill_n/2.cc: New.
      	* testsuite/25_algorithms/fill_n/debug/1_neg.cc: New.
      	* testsuite/25_algorithms/fill_n/debug/2_neg.cc: New.
      	* testsuite/25_algorithms/fill_n/debug/3_neg.cc: New.
      	* testsuite/25_algorithms/fill_n/debug/4_neg.cc: New.
      
      From-SVN: r261566
      François Dumont committed
    • re PR sanitizer/86090 ([ASAN] ASAN does not properly configure libbacktrace.) · 3b07c0e5
      2018-06-13  Denis Khalikov  <d.khalikov@partner.samsung.com>
      
      libsanitizer/
      
      	PR sanitizer/86090
      	* configure.ac: Check for lstat and readlink.
      	* configure, config.h.in: Rebuild.
      
      From-SVN: r261564
      Denis Khalikov committed
    • PR c++/86094 - wrong code with defaulted move ctor. · 34a7a230
      gcc/c-family/
      	* c-opts.c (c_common_post_options): Bump the current ABI version to
      	13.  Set warn_abi_version and flag_abi_compat_version to the current
      	version rather than 0.  Fix defaulting flag_abi_compat_version from
      	warn_abi_version.
      gcc/cp/
      	* class.c (classtype_has_non_deleted_move_ctor): New.
      	* tree.c (maybe_warn_parm_abi, type_has_nontrivial_copy_init):
      	Handle v12 breakage.
      
      From-SVN: r261562
      Jason Merrill committed
    • re PR fortran/86110 (ICE in gfc_resolve_character_array_constructor, at fortran/array.c:2044) · 010b9a3e
      2018-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86110
      	* array.c (gfc_resolve_character_array_constructor): Avoid NULL 
      	pointer dereference.
      
      2018-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/86110
      	* gfortran.dg/pr86110.f90: New test.
      
      From-SVN: r261561
      Steven G. Kargl committed
    • compiler: include global variable preinit blocks in ast dumps · de001ec7
          
          Dump out the blocks corresponding to variable pre-inits when
          -fgo-dump-ast is in effect. Each preinit block is prefixed with a
          comment indicating the variable it is initializing.
          
          Reviewed-on: https://go-review.googlesource.com/118636
      
      From-SVN: r261555
      Ian Lance Taylor committed
    • PR libstdc++/86127 avoid unnecessary allocator conversions · 1cc56f07
      There is no need to use an allocator of the correct value_type when
      calling allocator_traits::construct and allocator_traits::destroy. The
      existing node allocator can be used, instead of constructing a new
      allocator object every time.
      
      There's also no benefit to using __gnu_cxx::__alloc_traits instead of
      std::allocator_traits to get the pointer and const_pointer types.
      std::forward_list is only available for C++11 and later, when
      std::allocator_traits is available too.
      
      	PR libstdc++/86127
      	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
      	unused typedef.
      	(_Fwd_list_base::_Node_alloc_traits): Use allocator_traits instead of
      	__gnu_cxx::__alloc_traits.
      	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
      	Use node allocator to create and destroy elements.
      	(forward_list::_Tp_alloc_type): Remove unused typedef.
      	(forward_list::_Alloc_traits): Use allocator_traits instead of
      	__gnu_cxx::__alloc_traits.
      
      From-SVN: r261554
      Jonathan Wakely committed
    • tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set… · 7b76867b
      tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set vector type of the intermediate stmt.
      
      2018-06-13  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern):
      	Properly set vector type of the intermediate stmt.
      	* tree-vect-stmts.c (vectorizable_operation): The destination
      	var always has vectype_out type.
      
      From-SVN: r261553
      Richard Biener committed