1. 18 Jun, 2018 15 commits
    • Introduce DUMP_VECT_SCOPE macro · adac3a68
      gcc/ChangeLog:
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
      	Replace dump_printf_loc call with DUMP_VECT_SCOPE.
      	(vect_slp_analyze_instance_dependence): Likewise.
      	(vect_enhance_data_refs_alignment): Likewise.
      	(vect_analyze_data_refs_alignment): Likewise.
      	(vect_slp_analyze_and_verify_instance_alignment
      	(vect_analyze_data_ref_accesses): Likewise.
      	(vect_prune_runtime_alias_test_list): Likewise.
      	(vect_analyze_data_refs): Likewise.
      	* tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise.
      	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
      	(vect_analyze_scalar_cycles_1): Likewise.
      	(vect_get_loop_niters): Likewise.
      	(vect_analyze_loop_form_1): Likewise.
      	(vect_update_vf_for_slp): Likewise.
      	(vect_analyze_loop_operations): Likewise.
      	(vect_analyze_loop): Likewise.
      	(vectorizable_induction): Likewise.
      	(vect_transform_loop): Likewise.
      	* tree-vect-patterns.c (vect_pattern_recog): Likewise.
      	* tree-vect-slp.c (vect_analyze_slp): Likewise.
      	(vect_make_slp_decision): Likewise.
      	(vect_detect_hybrid_slp): Likewise.
      	(vect_slp_analyze_operations): Likewise.
      	(vect_slp_bb): Likewise.
      	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
      	(vectorizable_bswap): Likewise.
      	(vectorizable_call): Likewise.
      	(vectorizable_simd_clone_call): Likewise.
      	(vectorizable_conversion): Likewise.
      	(vectorizable_assignment): Likewise.
      	(vectorizable_shift): Likewise.
      	(vectorizable_operation): Likewise.
      	* tree-vectorizer.h (DUMP_VECT_SCOPE): New macro.
      
      From-SVN: r261710
      David Malcolm committed
    • PR c++/86171 - ICE with recursive alias instantiation. · 5d4d0be8
      	* pt.c (tsubst_decl): Handle recursive alias instantiation.
      
      From-SVN: r261709
      Jason Merrill committed
    • LWG 3050 Fix cv-qualification of convertibility constraints · 8499a82c
      	LWG 3050 Fix cv-qualification of convertibility constraints
      	* include/std/chrono (duration, operator*, operator/, operator%): Use
      	const-qualified type as source type in is_convertible constraints.
      	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
      	* testsuite/20_util/duration/cons/dr3050.cc: New.
      	* testsuite/20_util/duration/literals/range.cc: Rename to...
      	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
      	dg-error lineno.
      
      From-SVN: r261708
      Jonathan Wakely committed
    • crossconfig.m4: Handle OpenBSD just like NetBSD. · 4f9eae9f
      2018-06-18  Maya Rashish  <coypu@sdf.org>
      
      	* crossconfig.m4: Handle OpenBSD just like NetBSD.
      	* configure: Rebuilt.
      
      	* config/alpha/openbsd.h (TARGET_DEFAULT): Define.
      	(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
      	(INTMAX_TYPE, UINTMAX_TYPE, WINT_TYPE): Likewise.
      
      	* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Move from
      	here to ...
      	* config/alpha/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Here.
      
      From-SVN: r261707
      Maya Rashish committed
    • P0754R2 <version> header · 410fb7d7
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/bits/c++config: Change doxygen comment to suggest <version>
      	instead of <iosfwd>.
      	* include/precompiled/stdc++.h: Include <cwchar> and <cwctype>
      	unconditionally.  Add C++17 and C++20 headers.
      	* include/std/version: New header.
      	* testsuite/17_intro/headers/c++2017/all_attributes.cc: New.
      	* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New.
      	* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New.
      	* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New.
      	* testsuite/17_intro/headers/c++2017/operator_names.cc: New.
      	* testsuite/17_intro/headers/c++2017/stdc++.cc: New.
      	* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
      	New.
      	* testsuite/17_intro/headers/c++2020/all_attributes.cc: New.
      	* testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New.
      	* testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New.
      	* testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New.
      	* testsuite/17_intro/headers/c++2020/operator_names.cc: New.
      	* testsuite/17_intro/headers/c++2020/stdc++.cc: New.
      	* testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc:
      	New.
      	* testsuite/18_support/headers/version/macros.cc: New.
      	* testsuite/18_support/headers/version/macros.cc: New.
      
      From-SVN: r261706
      Jonathan Wakely committed
    • PR tree-optimization/81384 - built-in form of strnlen missing · 781ff3d8
      gcc/ChangeLog:
      
      	PR tree-optimization/81384
      	* builtin-types.def (BT_FN_SIZE_CONST_STRING_SIZE): New.
      	* builtins.c (expand_builtin_strnlen): New function.
      	(expand_builtin): Call it.
      	(fold_builtin_n): Avoid setting TREE_NO_WARNING.
      	* builtins.def (BUILT_IN_STRNLEN): New.
      	* calls.c (maybe_warn_nonstring_arg): Handle BUILT_IN_STRNLEN.
      	Warn for bounds in excess of maximum object size.
      	* tree-ssa-strlen.c (maybe_set_strlen_range): Return tree representing
      	single-value ranges.  Handle strnlen.
      	(handle_builtin_strlen): Handle strnlen.
      	(strlen_check_and_optimize_stmt): Same.
      	* doc/extend.texi (Other Builtins): Document strnlen.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/81384
      	* gcc.c-torture/execute/builtins/lib/strnlen.c: New test.
      	* gcc.c-torture/execute/builtins/strnlen-lib.c: New test.
      	* gcc.c-torture/execute/builtins/strnlen.c: New test.
      	* gcc.dg/attr-nonstring-2.c: New test.
      	* gcc.dg/attr-nonstring-3.c: New test.
      	* gcc.dg/attr-nonstring-4.c: New test.
      	* gcc.dg/strlenopt-45.c: New test.
      	* gcc.dg/strlenopt.h (strnlen):  Declare.
      
      From-SVN: r261705
      Martin Sebor committed
    • Fix bootstrap failure for bare metal due to autoconf link tests · 7314856c
      The AC_CHECK_FUNCS tests cause the build to fail for bare metal cross
      compilers, where link tests are not allowed. Replace them with
      GCC_TRY_COMPILE_OR_LINK tests instead. Skip all the Filesystem
      dependency checks if not building the filesystem library.
      
      	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when
      	enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and
      	symlink.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Remove AC_CHECK_FUNCS for link, readlink and symlink.
      
      From-SVN: r261704
      Jonathan Wakely committed
    • LWG 3035. std::allocator's constructors should be constexpr · 3be9ded2
      	LWG 3035. std::allocator's constructors should be constexpr
      	* include/bits/allocator.h (allocator): Add constexpr to constructors
      	for C++2a. Replace dynamic exception specifications with NOTHROW
      	macro.
      	(allocator, operator==, operator!=): Replace USE_NOEXCEPT macro with
      	NOTHROW.
      	* include/bits/c++config (_GLIBCXX20_CONSTEXPR): Define.
      	* include/ext/malloc_allocator.h (malloc_allocator): Add constexpr
      	to constructors for C++2a.
      	* include/ext/new_allocator.h (new_allocator): Likewise.
      
      From-SVN: r261703
      Jonathan Wakely committed
    • decl.c (duplicate_decls): Consistently use DECL_SOURCE_LOCATION in errors about… · 9a977ce3
      decl.c (duplicate_decls): Consistently use DECL_SOURCE_LOCATION in errors about redefined default...
      
      2018-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (duplicate_decls): Consistently use DECL_SOURCE_LOCATION
      	in errors about redefined default arguments; tidy.
      
      From-SVN: r261702
      Paolo Carlini committed
    • tree.c (escaped_string::escape): Replace cast to char * by const_cast<char *> (unescaped). · 5f9bda14
      2018-06-18  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* tree.c (escaped_string::escape): Replace cast to char * by
      	const_cast<char *> (unescaped).
      
      From-SVN: r261700
      Prathamesh Kulkarni committed
    • [testsuite] Add target pthread to pr86076.c · 663305df
      Add missing target pthread to ensure test doesn't fail on bare-metal
      targets. Committed as obvious.
      
          testsuite/
      	PR tree-optimization/86076
      	* gcc.dg/pr86076.c: Add target pthread for bare-metal targets.
      
      From-SVN: r261699
      Wilco Dijkstra committed
    • [testsuite] Remove xfail from vect-abs-compile.c · 8422c296
      Since PR64946 has been fixed, we can remove the xfail from this test.
      Committed as obvious.
      
          testsuite/
      	PR tree-optimization/64946
      	* gcc.target/aarch64/vect-abs-compile.c: Remove xfail.
      
      From-SVN: r261698
      Wilco Dijkstra committed
    • Ensure that control characters in user supplied error and warning messages are escaped. · eede1a6b
      	PR 84195
      	* 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.
      
      From-SVN: r261697
      Nick Clifton committed
    • tree.c (decl_value_expr_lookup): Revert latest change. · a7fc274f
      	* tree.c (decl_value_expr_lookup): Revert latest change.
      	(decl_value_expr_insert): Likewise.
      fortran/
      	* trans-decl.c (gfc_get_fake_result_decl): Revert latest change.
      
      From-SVN: r261696
      Eric Botcazou committed
    • Daily bump. · 3b4f0408
      From-SVN: r261695
      GCC Administrator committed
  2. 17 Jun, 2018 3 commits
    • Remove superfluous prefix · ebd94f7a
      From-SVN: r261688
      Eric Botcazou committed
    • gimplify.c (nonlocal_vlas): Delete. · d70ba0c1
      	* gimplify.c (nonlocal_vlas): Delete.
      	(nonlocal_vla_vars): Likewise.
      	(gimplify_var_or_parm_decl): Do not add debug VAR_DECLs for non-local
      	referenced VLAs.
      	(gimplify_body): Do not create and destroy nonlocal_vlas.
      	* tree-nested.c: Include diagnostic.h.
      	(use_pointer_in_frame): Tweak.
      	(lookup_field_for_decl): Add assertion and declare the transformation.
      	(convert_nonlocal_reference_op) <PARM_DECL>: Rework and issue an
      	internal error when the reference is in a wrong context.  Do not
      	create a debug decl by default.
      	(note_nonlocal_block_vlas): Delete.
      	(convert_nonlocal_reference_stmt) <GIMPLE_BIND>: Do not call it.
      	(convert_local_reference_op) <PARM_DECL>: Skip the frame decl.  Do not
      	create a debug decl by default.
      	(convert_gimple_call) <GIMPLE_CALL>: Issue an internal error when the
      	call is in a wrong context.
      	(fixup_vla_decls): New function.
      	(finalize_nesting_tree_1): Adjust comment.  Call fixup_vla_decls if no
      	debug variables were created.
      	* tree.c (decl_value_expr_lookup): Add checking assertion.
      	(decl_value_expr_insert): Likewise.
      fortran/
      	* fortran/trans-decl.c (nonlocal_dummy_decl_pset): Delete.
      	(nonlocal_dummy_decls): Likewise.
      	(gfc_nonlocal_dummy_array_decl): Likewise.
      	(gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl.
      	(gfc_get_fake_result_decl): Do not generate a new DECL if simply
      	reusing the result of a recursive call.
      	(gfc_generate_function_code): Do not create, insert and destroy
      	nonlocal_dummy_decls.
      
      From-SVN: r261687
      Eric Botcazou committed
    • Daily bump. · f6a4a25f
      From-SVN: r261686
      GCC Administrator committed
  3. 16 Jun, 2018 7 commits
    • re PR middle-end/82479 (missing popcount builtin detection) · 5126ae0c
      gcc/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/82479
      	* ipa-fnsummary.c (will_be_nonconstant_expr_predicate): Handle CALL_EXPR.
      	* tree-scalar-evolution.c (interpret_expr): Likewise.
      	(expression_expensive_p): Likewise.
      	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_popcount): New.
      	(number_of_iterations_exit_assumptions): Use number_of_iterations_popcount.
      	(ssa_defined_by_minus_one_stmt_p): New.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/82479
      	* gcc.dg/tree-ssa/popcount.c: New test.
      	* gcc.dg/tree-ssa/popcount2.c: New test.
      
      From-SVN: r261682
      Kugan Vivekanandarajah committed
    • re PR tree-optimization/64946 ([AArch64] gcc.target/aarch64/vect-abs-compile.c -… · e197e64e
      re PR tree-optimization/64946 ([AArch64] gcc.target/aarch64/vect-abs-compile.c - "abs" vectorization fails for char/short types)
      
      gcc/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/64946
      	* cfgexpand.c (expand_debug_expr): Hande ABSU_EXPR.
      	* config/i386/i386.c (ix86_add_stmt_cost): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* expr.c (expand_expr_real_2): Check operand type's sign.
      	* fold-const.c (const_unop): Handle ABSU_EXPR.
      	(fold_abs_const): Likewise.
      	* gimple-pretty-print.c (dump_unary_rhs): Likewise.
      	* gimple-ssa-backprop.c (backprop::process_assign_use): Likesie.
      	(strip_sign_op_1): Likesise.
      	* match.pd: Add new pattern to generate ABSU_EXPR.
      	* optabs-tree.c (optab_for_tree_code): Handle ABSU_EXPR.
      	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
      	* tree-eh.c (operation_could_trap_helper_p): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-patterns.c (vect_recog_sad_pattern): Likewise.
      	* tree.def (ABSU_EXPR): New.
      
      gcc/c-family/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
      
      gcc/c/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* c-typeck.c (build_unary_op): Handle ABSU_EXPR;
      	* gimple-parser.c (c_parser_gimple_statement): Likewise.
      	(c_parser_gimple_unary_expression): Likewise.
      
      gcc/cp/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* constexpr.c (potential_constant_expression_1): Handle ABSU_EXPR.
      	* cp-gimplify.c (cp_fold): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/64946
      	* gcc.dg/absu.c: New test.
      	* gcc.dg/gimplefe-29.c: New test.
      	* gcc.target/aarch64/pr64946.c: New test.
      
      From-SVN: r261681
      Kugan Vivekanandarajah committed
    • re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references… · ee79110c
      re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references options which have no effect any more)
      
      	PR middle-end/86095
      	* common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var,
      	documented as preserved for backward compatibility only.
      	* doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation.
      
      From-SVN: r261679
      Jakub Jelinek committed
    • re PR rtl-optimization/86108 (crash during unwinding with -O2) · 81e99446
      	PR rtl-optimization/86108
      	* bb-reorder.c (create_forwarder_block): Renamed to ...
      	(create_eh_forwarder_block): ... this.  Split OLD_BB after labels and
      	jump from new landing pad to the second part.
      	(sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad):
      	Adjust callers.
      
      From-SVN: r261678
      Jakub Jelinek committed
    • PR c++/86147 - wrong capture for template argument. · 94aedc1c
      	* expr.c (mark_use): Look through NOP_EXPR.
      
      From-SVN: r261676
      Jason Merrill committed
    • config.guess: Import latest version. · 29305f60
      	* config.guess: Import latest version.
      	* config.sub: Likewise.
      
      From-SVN: r261675
      Ben Elliston committed
    • Daily bump. · 8b1d1393
      From-SVN: r261674
      GCC Administrator committed
  4. 15 Jun, 2018 15 commits
    • LWG 3076 basic_string CTAD ambiguity · 5d84e6c5
      When deduction guides are supported by the compiler (i.e. for C++17 and
      later) replace two basic_string constructors by constrained function
      templates as required by LWG 3075. In order to ensure that the pre-C++17
      non-template constructors are still exported from the shared library
      define a macro in src/c++11/string-inst.cc to force the non-template
      declarations (this isn't strictly needed yet, because the string
      instantiations are compiled with -std=gnu++11, but that is likely to
      change).
      
      	LWG 3076 basic_string CTAD ambiguity
      	* doc/xml/manual/intro.xml: Document LWG 3076 change.
      	* include/bits/basic_string.h
      	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
      	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
      	template constrained by _RequireAllocator.
      	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
      	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
      	Define.
      	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
      	deduction
      	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
      	Likewise.
      
      From-SVN: r261670
      Jonathan Wakely committed
    • re PR c/86093 (volatile ignored on pointer in C) · 487f2f61
      	PR c/86093
      	* c-typeck.c (pointer_diff): Cast both pointers to unqualified types
      	before doing POINTER_DIFF_EXPR.
      
      	* c-c++-common/pr86093.c: New test.
      
      From-SVN: r261663
      Jakub Jelinek committed
    • re PR middle-end/85878 (ICE in convert_mode_scalar, at expr.c:287) · da8ea71e
      	PR middle-end/85878
      	* expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P
      	check from first store_expr, use to_mode instead of GET_MODE (to_rtx).
      	Only call store_expr for halves if the mode is the same.
      
      	* gfortran.fortran-torture/compile/pr85878.f90: New test.
      
      From-SVN: r261659
      Jakub Jelinek committed
    • pt.c (tsubst_default_argument): Use push_to/pop_from_top_level. · fe7a23a6
      	* pt.c (tsubst_default_argument): Use push_to/pop_from_top_level.
      
      	* name-lookup.c (do_pushtag): Don't look through complete types, but
      	don't add to them either.  Get context from current_binding_level.
      
      From-SVN: r261656
      Jason Merrill committed
    • * decl.c (start_enum): Do compare dependent underlying type. · b4cf2e42
      From-SVN: r261655
      Jason Merrill committed
    • PR c++/82882 - ICE with lambda in template default argument. · 582f844c
      	* lambda.c (record_null_lambda_scope): New.
      	* pt.c (tsubst_lambda_expr): Use it.
      	* name-lookup.c (do_pushtag): Don't give a lambda DECL_CONTEXT of a
      	function that isn't open.
      
      From-SVN: r261654
      Jason Merrill committed
    • re PR middle-end/86123 (ICE in prepare_cmp_insn, at optabs.c:3967) · b8d85005
      	PR middle-end/86123
      	* match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions.
      	Fix up comment formatting.
      
      	* gcc.c-torture/compile/pr86123.c: New test.
      
      From-SVN: r261647
      Jakub Jelinek committed
    • typed-splay-tree.h (typed_splay_tree::remove): New function. · b48f2352
      2018-06-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * typed-splay-tree.h (typed_splay_tree::remove): New function.
              (typed_splay_tree::closure,
              typed_splay_tree::inner_foreach_fn, typed_splay_tree::m_inner): Deleted.
              (typed_splay_tree::typed_splay_tree,
              typed_splay_tree::operator =): Declared private.
              (typed_splay_tree::splay_tree_key, typed_splay_tree::splay_tree_value,
              typed_splay_tree::splay_tree_node_s, typed_splay_tree::KDEL,
              typed_splay_tree::VDEL, typed_splay_tree::splay_tree_delete_helper,
              typed_splay_tree::rotate_left, typed_splay_tree::rotate_right,
              typed_splay_tree::splay_tree_splay,
              typed_splay_tree::splay_tree_foreach_helper,
              typed_splay_tree::splay_tree_insert,
              typed_splay_tree::splay_tree_remove,
              typed_splay_tree::splay_tree_lookup,
              typed_splay_tree::splay_tree_predecessor,
              typed_splay_tree::splay_tree_successor,
              typed_splay_tree::splay_tree_min,
              typed_splay_tree::splay_tree_max): Took over from splay-tree.c/.h.
              (typed_splay_tree::root, typed_splay_tree::comp,
              typed_splay_tree::delete_key,
              typed_splay_tree::delete_value): New data members.
              * typed-splay-tree.c (selftest::test_str_to_int): Add a test for
              typed_splay_tree::remove.
      
      From-SVN: r261645
      Bernd Edlinger committed
    • [testsuite] Run dg-final.exp sequentially · df25ffcc
      2018-06-15  Tom de Vries  <tdevries@suse.de>
      
      	* gcc.dg-selftests/dg-final.exp: Force sequential execution.
      
      From-SVN: r261643
      Tom de Vries committed
    • PR libstdc++/86169 unshare COW string when non-const data() called · 525d67d4
      	PR libstdc++/86169
      	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
      	(basic_string::data()): Unshare string.
      	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
      	New.
      
      From-SVN: r261642
      Jonathan Wakely committed
    • Decorate string_view members with nonnull attribute · 36eec25a
      The C++ committee has confirmed that passing a null pointer to the
      unary basic_string_view constructor is undefined. This removes the check
      from our implementation, and adds the nonnull attribute to warn when the
      compiler can detect undefined input.
      
      	* include/std/string_view (basic_string_view(const CharT*)): Remove
      	check for null pointer and add nonnull attribute.
      	(compare(const CharT*), compare(size_type, size_type, const CharT*))
      	(find(const CharT*, size_type), rfind(const CharT*, size_type))
      	(find_first_of(const CharT*, size_type))
      	(find_last_of(const CharT*, size_type))
      	(find_first_not_of(const CharT*, size_type))
      	(find_last_not_of(const CharT*, size_type)): Add nonnull attribute.
      	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/compare/char/
      	nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/find/char/
      	nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/rfind/char/
      	nonnull.cc: New.
      
      From-SVN: r261638
      Jonathan Wakely committed
    • PR libstdc++/86168 fix ambiguous default constructor · 3438bf7b
      	PR libstdc++/86168
      	* include/bits/random.h (random_device(const string&)): Remove
      	default argument.
      
      From-SVN: r261636
      Jonathan Wakely committed
    • MIPS: Add support for -mcrc and -mginv options. · 9e9e6264
      gcc/ChangeLog:
      
      2018-06-15  Matthew Fortune  <matthew.fortune@mips.com>
      
      	* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
      	-mginv and -mno-ginv to the assembler.
      	* config/mips/mips.opt (-mcrc): New option.
      	(-mginv): Likewise.
      	* doc/invoke.text (-mcrc): Document.
      	(-mginv): Likewise.
      
      From-SVN: r261635
      Matthew Fortune committed
    • 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