1. 16 Jun, 2018 5 commits
  2. 15 Jun, 2018 24 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
    • 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
  3. 14 Jun, 2018 11 commits