Commit Graph

8319 Commits

Author SHA1 Message Date
Paolo Carlini
3c61a5ba37 DR 1423 PR c++/52174
gcc/cp
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1423
	PR c++/52174
	* call.c (standard_conversion): Convert nullptr to bool only
	in case of direct-initialization.
	(convert_like_real): Provide informative error message.

gcc/testsuite
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1423
	PR c++/52174
	* g++.dg/cpp0x/nullptr31.C: New.
	* g++.dg/cpp0x/sfinae-nullptr1.C: Likewise.
	* g++.dg/cpp0x/nullptr17.C: Update.

libstdc++-v3
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1423
	PR c++/52174
	* testsuite/20_util/is_assignable/value.cc: Update.

From-SVN: r211195
2014-06-03 17:48:36 +00:00
Jonathan Wakely
097f0bcf65 regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
	members to avoid wasted space when not using a cache.
	(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
	* include/bits/regex_compiler.tcc
	(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
	search on set.
	* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
	New enumeration type to indicate match mode.
	(__detail::_Executor::_State_info): New type holding members only
	needed in BFS-mode. Replace unique_ptr<vector<bool>> with
	unique_ptr<bool[]>.
	(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
	Replace template parameter with run-time function parameter.
	(__detail::_Executor::_M_main): Likewise. Dispatch to ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions to
	implement DFS and BFS mode.
	* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
	Split implementation into ...
	(__detail::_Executor::_M_main_dispatch): New overloaded functions.
	(__detail::_Executor::_M_lookahead): Create nested executor on stack.
	(__detail::_Executor::_M_rep_once_more): Pass match mode as function
	argument instead of template argument.
	(__detail::_Executor::_M_dfs): Likewise.
	* include/bits/regex_scanner.tcc: Fix typos in comments.
	* testsuite/performance/28_regex/range.cc: New.

From-SVN: r211143
2014-06-02 20:36:14 +01:00
Jonathan Wakely
315eb4bb08 condition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind.
* include/std/condition_variable (condition_variable_any::_Unlock): Do
	not swallow __forced_unwind.
	* include/std/future (__future_base::_Task_setter): Likewise.
	(__future_base::_Async_state_impl): Turn __forced_unwind into broken
	promise and rethrow.
	* include/std/mutex (try_lock): Likewise.
	* testsuite/30_threads/async/forced_unwind.cc: New.
	* testsuite/30_threads/packaged_task/forced_unwind.cc: New.

From-SVN: r211138
2014-06-02 16:45:09 +01:00
Rüdiger Sonderfeld
d371802725 type_traits (__strictest_alignment): New helper struct.
2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
	    Jonathan Wakely  <jwakely@redhat.com>

	* libstdc++-v3/include/std/type_traits (__strictest_alignment): New
	helper struct.
	(aligned_union): New struct (C++11).
	(aligned_union_t): New type alias (C++14).
	* doc/xml/manual/status_cxx2011.xml: Update.
	* libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r211137
2014-06-02 14:55:14 +01:00
Jonathan Wakely
314efb66cf uses_allocator.h (__uses_allocator_helper): Simplify.
* include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
	(__uses_allocator_arg): Remove unused type.
	(__uses_alloc0): Turn into a trivial type.
	(__uses_alloc): Add missing template parameter in primary template.
	(__uses_alloc_impl): Rename to __uses_alloc_t.

From-SVN: r211121
2014-06-01 23:35:42 +01:00
Jonathan Wakely
16545743c6 re PR libstdc++/61374 (string_view::operator string() is buggy)
PR libstdc++/61374
	* include/experimental/string_view (operator basic_string): Correct
	order of arguments.
	(to_string): Replace with member function.
	Add inline specifiers. Remove unused header. Remove _S_empty_rep and
	allow _M_str to be null.
	* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
	default constructor semantics.
	* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
	* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
	copyright dates. Remove unused header.
	* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
	Likewise.
	* testsuite/experimental/string_view/operations/data/char/1.cc:
	Fix copyright dates. Adjust to new default constructor semantics.
	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
	Likewise.
	* testsuite/experimental/string_view/operations/to_string/1.cc: New.

From-SVN: r211113
2014-06-01 18:23:41 +01:00
Jonathan Wakely
8e43535e17 appendix_contributing.xml (list.copyright): Add Paolo's address too.
* doc/xml/manual/appendix_contributing.xml (list.copyright): Add
	Paolo's address too.

From-SVN: r211095
2014-05-30 20:26:15 +01:00
Jonathan Wakely
2c9363445d appendix_contributing.xml (list.copyright): Replace Benjamin's old email address.
* doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
	Benjamin's old email address.

From-SVN: r211086
2014-05-30 17:58:58 +01:00
Jonathan Wakely
29f0952140 libstdc++.exp (libstdc++_init): Adjust regexp to work with previous versions of Tcl.
* testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
	work with previous versions of Tcl.

From-SVN: r211077
2014-05-30 12:11:15 +01:00
Jonathan Wakely
710d672b08 bool_set: Use UTF-8 for accented characters.
* include/tr2/bool_set: Use UTF-8 for accented characters.
	* scripts/run_doxygen: Handle Doxygen 1.8.x change.
	* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
	QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.

From-SVN: r211053
2014-05-29 15:04:43 +01:00
Paolo Carlini
171fa27eb3 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in ChangeLog entry.

From-SVN: r211003
2014-05-28 08:59:32 +00:00
Jonathan Wakely
ecb249ddf2 re PR libstdc++/61329 (#include <regex> and _GLIBCXX_DEBUG causes multiple symbol definition.)
PR libstdc++/61329
	* include/bits/regex_automaton.tcc (_State_base::_M_print): Add
	inline specifier.
	(_State_base::_M_dot): Likewise.

From-SVN: r210968
2014-05-27 12:14:17 +01:00
Uros Bizjak
68c1d586fa * ChangeLog-2013: Correct an old entry.
From-SVN: r210951
2014-05-26 23:49:19 +02:00
Paolo Carlini
5a2b79e24d map.h: Fix typo in comment; minor formatting fix.
2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/map.h: Fix typo in comment; minor formatting fix.
	* include/profile/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/multiset.h: Likewise.

From-SVN: r210912
2014-05-25 08:38:01 +00:00
François Dumont
f3de79d43a array: Clean useless white chars.
2014-05-24  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/array: Clean useless white chars.
	* include/profile/base.h: Likewise.
	* include/profile/iterator_tracker.h: Likewise.
	* include/profile/bitset: Code cleanup and remove not instrumented code.
	* include/profile/deque: Likewise.
	* include/profile/forward_list: Likewise.
	* include/profile/list (std::__profile::_List_profile<>): New.
	(std::__profile::list<>): Inherit from latter and adapt.
	* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
	advise to match any ordered to unordered container conversion.
	* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
	New.
	* include/Makefile.am: Add latter.
	* include/Makefile.in: Regenerate.
	* include/profile/map.h (std::__profile::map<>): Inherit from latter,
	remove not instrumented code.
	* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
	* include/profile/set.h (std::__profile::set<>): Likewise.
	* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
	* include/profile/unordered_base.h: Add some line feed.
	* include/profile/unordered_map: Clean useless white chars and replace
	spaces with tabs.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
	(std::__profile::_Vector_profile_post<>): New.
	(std::__profile::vector<>): Inherit from latter and adapt.

From-SVN: r210900
2014-05-24 20:59:00 +00:00
Jonathan Wakely
cfbe41d07e 54297.cc: Remove duplicate dragonfly selector.
* testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
	selector.
	* testsuite/30_threads/call_once/60497.cc: Likewise.
	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
	* testsuite/30_threads/promise/60966.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.

From-SVN: r210859
2014-05-23 12:49:26 +01:00
Jonathan Wakely
d90838f96c 1.cc: Add xfail for dragonfly.
* testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
	dragonfly.
	* testsuite/30_threads/call_once/60497.cc: Add target selectors.
	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.

From-SVN: r210850
2014-05-23 11:19:32 +01:00
Jonathan Wakely
75a8a745af re PR libstdc++/60793 (Add target *-*-dragonfly* to dg-options on 172 libstdc++ tests)
PR libstdc++/60793
	* testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
	dragonfly target selector to all tests that run on freebsd.

From-SVN: r210849
2014-05-23 11:19:20 +01:00
François Dumont
95539f21f5 re PR libstdc++/61143 (Arithmetic exception on emplacing into unordered_map moved out)
2014-05-21  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/61143
	* include/bits/hashtable.h: Fix move semantic to leave hashtable in a
	usable state.
	* testsuite/23_containers/unordered_set/61143.cc: New.
	* testsuite/23_containers/unordered_set/modifiers/swap.cc: New.

From-SVN: r210726
2014-05-21 19:51:05 +00:00
Jonathan Wakely
ab65e21ab2 c_locale.cc (facet::_S_create_c_locale): Fix warning.
* config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
	Fix warning.

From-SVN: r210716
2014-05-21 16:09:50 +01:00
Jonathan Wakely
21e2806a8f re PR libstdc++/61269 (<type_traits> includes <cstdint> inside std namespace)
PR libstdc++/61269
	* include/std/type_traits: Move include outside namespace std.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r210715
2014-05-21 16:09:37 +01:00
John Marino
dbed5a9bff config.gcc (*-*-dragonfly*): New target.
2014-05-21  John Marino  <gnugcc@marino.st>

gcc:

	* config.gcc (*-*-dragonfly*): New target.
	* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
	* configure: Regenerate.
	* config/dragonfly-stdint.h: New.
	* config/dragonfly.h: New.
	* config/dragonfly.opt: New.
	* config/i386/dragonfly.h: New.
	* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.

include:

	* liberty.h: Use basename function on DragonFly.

libcilkrts:

	* runtime/os-unix.c (__DragonFly__): New target.

libgcc:

	* config.host (*-*-dragonfly*): New target.
	* crtstuff.c: Make dl_iterate_support generic on *bsd.
	* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
	* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
	* config/i386/dragonfly-unwind.h: New.

libitm:

	* configure.tgt (*-*-dragonfly*): New target.

libstdc++-v3:

	* acinclude.m4 (*-*-dragonfly*): New target.
	* configure: Regenerate.
	* configure.host (*-*-dragonfly*): New target.
	* config/locale/dragonfly/c_locale.cc: New.
	* config/locale/dragonfly/ctype_members.cc: New.
	* config/os/bsd/dragonfly/ctype_base.h: New.
	* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
	* config/os/bsd/dragonfly/ctype_inline.h: New.
	* config/os/bsd/dragonfly/os_defines.h: New.

From-SVN: r210694
2014-05-21 12:08:58 +01:00
Cesar Philippidis
6ed9c90a5d testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since libstdc++.exp imports those flags via getenv.
2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>

	libstdc++-v3/
	* scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since 
	libstdc++.exp imports those flags via getenv.
	* testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that 
	CXXFLAGS contains a '-O' flag.

From-SVN: r210659
2014-05-20 17:31:30 -04:00
Alexey Merzlyakov
a852a67c02 re PR target/61223 (libstdc++ build fail due to pop lr register)
2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>

	PR libstdc++/61223
	Revert:
	2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>

	PR libstdc++/60758
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
	and add unwind directives.

From-SVN: r210650
2014-05-20 17:25:26 +00:00
Sebastian Huber
8ec7c36a53 libffi.exp (load_gcc_lib): Register loaded libs.
2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>

libffi/
	* testsuite/lib/libffi.exp (load_gcc_lib): Register loaded libs.

libjava/
	* testsuite/lib/libjava.exp (load_gcc_lib): Register loaded libs.

libstdc++-v3/
	* testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.

From-SVN: r210634
2014-05-20 08:20:06 +00:00
Tim Shen
4dae67e090 re PR libstdc++/61227 ([C++11] Regex [\w] does not work)
2014-05-20  Tim Shen  <timshen91@gmail.com>

	PR libstdc++/61227
	* include/bits/regex_compiler.h
	(_BracketMatcher<>::_M_add_character_class): Add negative character
	class support.
	* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
	Likewise.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
	Add more testcases.

From-SVN: r210630
2014-05-20 04:31:54 +00:00
Jonathan Wakely
470592286a * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
From-SVN: r210625
2014-05-19 22:43:13 +01:00
Marc Glisse
80333d3d23 new_op.cc: Factor the calls to malloc, use __builtin_expect.
2014-05-17  Marc Glisse  <marc.glisse@inria.fr>

	* libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
	* libsupc++/new_opnt.cc: Likewise.

From-SVN: r210560
2014-05-17 17:47:36 +00:00
Jonathan Wakely
a0eaa08ceb re PR libstdc++/60966 (std::call_once sometime hangs)
PR libstdc++/60966
	* include/std/future (__future_base::_State_baseV2::_M_set_result):
	Pass lock into _M_do_set and hold it until the function returns.
	Signal condition variable after call_once completes.
	(__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
	signal here.
	* testsuite/30_threads/promise/60966.cc: New.

From-SVN: r210556
2014-05-17 13:58:46 +01:00
Iain Sandoe
cac363bc3c abi.exp: Defer setting of baseline_subdir until after checking that the test is eligible...
2014-05-16  Iain Sandoe  <iain@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

        libstdc++-v3/
        * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
        until after checking that the test is eligible to be run.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r210531
2014-05-16 16:56:03 -04:00
Jonathan Wakely
53caffbe8d typedefs-1.cc: Fix test for 32-bit target.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
	test for 32-bit target.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
	Fix test.

From-SVN: r210517
2014-05-16 15:55:45 +01:00
Alexey Merzlyakov
2a2794f7be re PR libstdc++/60758 (Infinite backtrace in __cxa_end_cleanup)
2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>

	PR libstdc++/60758
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
	and add unwind directives.

From-SVN: r210515
2014-05-16 13:16:33 +00:00
Jonathan Wakely
cd1464dbc6 parse_numbers.h (__parse_int::_Number_help): Check for overflow.
* include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
	overflow.
	* include/std/chrono (chrono_literals::__select_type::_Select_type):
	Remove.
	(chrono_literals::_Checked_integral_constant): Define.
	Simplify UDL operator templates and check for overflow.
	* testsuite/20_util/duration/literals/range.cc: New.

From-SVN: r210513
2014-05-16 12:08:49 +01:00
Ed Smith-Rowland
a2f4bd2ae1 re PR libstdc++/61166 (overflow when parse number in std::duration operator"")
2014-05-15  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/61166
	* include/bits/parse_numbers.h: Use integral_constant to remove
	duplication and simplify.
	* testsuite/20_util/duration/literals/61166.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r210511
2014-05-16 10:30:57 +01:00
Jonathan Wakely
c6139a7763 Fix typo in my name.
From-SVN: r210479
2014-05-15 20:12:04 +01:00
Jonathan Wakely
c0eef1c8f2 re PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)
PR libstdc++/60326
	* include/std/type_traits (__make_unsigned, __make_signed): Define
	specializations for wchar_t, char16_t and char32_t.
	* testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
	test for make_unsigned<volatile wchar_t>.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r210473
2014-05-15 13:31:05 +01:00
Jonathan Wakely
3a004764ec tuple (tuple_size<cv _Tp>): Implement LWG 2313.
* include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
	* include/std/array (tuple_size, tuple_element): Add Doxygen comments.
	* include/std/utility (tuple_size, tuple_element): Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Adjust dg-error line number.

From-SVN: r210470
2014-05-15 11:35:29 +01:00
Jonathan Wakely
af222e7486 tuple (__add_c_ref, [...]): Remove.
* include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
	(__tuple_element_t): Define.
	(tuple_element): Use __tuple_element_t.
	(__cv_tuple_size): Define.
	(tuple_size<cv _Tp>): Use __cv_tuple_size.
	(get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
	(get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
	(__tuple_compare): Remove size check, re-order parameters.
	(operator==, operator<): Use static_assert to check requirements.
	* include/std/functional (__volget): use __tuple_element_t.
	* testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.

From-SVN: r210447
2014-05-14 23:16:35 +01:00
Jason Merrill
d02f620dc0 re PR c++/20332 (poor diagnostic when bind non lvalue to a reference for default arguments)
PR c++/20332
	PR c++/21631
	* call.c (reference_binding): Treat lvalue/rvalue mismatch and
	dropped cv-quals as a bad conversion.
	(convert_like_real) [ck_ref_bind]: Explain them.
	(compare_ics): Check badness before stripping reference
	bindings.  Handle comparing bad reference bindings.
	* typeck.c (comp_cv_qualification): Add overload that just takes
	integers.
	* cp-tree.h: Declare it.

From-SVN: r210436
2014-05-14 12:48:07 -04:00
Jason Merrill
89606913ce call.c (struct conversion_info): Rename 'from_type' to 'from'.
* call.c (struct conversion_info): Rename 'from_type' to 'from'.
	(arg_conversion_rejection, bad_arg_conversion_rejection)
	(explicit_conversion_rejection, template_conversion_rejection): Adjust.
	(add_function_candidate): Pass actual argument, rather than type, to
	bad_arg_conversion_rejection.
	(print_conversion_rejection): Explain what's wrong with the conversion.
	(print_z_candidate): Say "candidate:" before each candidate.
	(splice_viable): Be strict if we see a viable or template candidate.
	(build_user_type_conversion_1): Pass false to strict parameter.
	(perform_overload_resolution, build_conditional_expr_1): Likewise.
	(build_new_op_1, build_new_method_call_1): Likewise.
	(build_op_call_1): Pass true to strict parameter.

From-SVN: r210435
2014-05-14 12:47:54 -04:00
Jonathan Wakely
b82f988e8d re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
	* include/debug/array (get): Qualify call to other get overload.
	* include/profile/array (get): Likewise.
	* include/std/array (get): Likewise.
	* include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
	* include/std/mutex (unique_lock, call_once): Use __addressof.
	(__unlock_impl): Remove unused template.
	(__try_to_lock): Declare inline.
	(__try_lock_impl::__do_try_lock): Qualify function calls.
	(lock): Avoid narrowing conversion.
	* testsuite/20_util/bind/60497.cc: New.
	* testsuite/23_containers/array/element_access/60497.cc: New.
	* testsuite/30_threads/call_once/60497.cc: New.
	* testsuite/30_threads/unique_lock/cons/60497.cc: New.

From-SVN: r210388
2014-05-13 18:22:08 +01:00
Jonathan Wakely
75e75a087d re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
	* include/std/tuple (get, __tuple_compare): Qualify more calls to
	prevent ADL. Cast comparison results to bool.
	* testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
	* testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.

From-SVN: r210366
2014-05-13 12:18:01 +01:00
Jonathan Wakely
91b67b5022 Fix typo in ChangeLog-2013
From-SVN: r210291
2014-05-09 20:39:20 +01:00
Jonathan Wakely
a8218d79f8 gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
	(GLIBCXX_3.4.21): Export base object constructor for regex_error.
	* acinclude.m4 (libtool_VERSION): Bump.
	* configure: Regenerate.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
	* testsuite/28_regex/regex_error/base.cc: New.

From-SVN: r210290
2014-05-09 20:39:14 +01:00
Joshua Gay
e70c7f5bc7 re PR libstdc++/61117 (Manual uses term open source but should say free software)
2014-05-08  Joshua Gay  <jgay@gnu.org>

	PR libstdc++/61117
	* doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
	source" with "free software".
	* doc/html/faq.html: Likewise.

From-SVN: r210241
2014-05-08 20:52:40 +01:00
Jonathan Wakely
07e4f10aa6 iostream: Fix URL in comment.
* include/std/iostream: Fix URL in comment.
	* src/c++98/ios_init.cc: Fix path in comment.

From-SVN: r210232
2014-05-08 20:01:51 +01:00
Jonathan Wakely
2735097a55 re PR libstdc++/13860 (Poor error messages on invalid template parameters for basic_filebuf)
PR libstdc++/13860
	* include/std/fstream (basic_filebuf): Enforce requirements on traits.

From-SVN: r210231
2014-05-08 19:30:14 +01:00
Jonathan Wakely
f0fd118f53 re PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy assignment access specifier)
PR libstdc++/57394
	* include/bits/ios_base.h (ios_base(const ios_base&)): Define as
	deleted for C++11.
	(operator=(const ios_base&)): Likewise.
	* include/std/streambuf: Remove trailing whitespace.
	(basic_streambuf(const basic_streambuf&)): Fix initializer for
	_M_out_end. Define as defaulted for C++11.
	(operator=(const basic_streambuf&)): Define as defaulted for C++11.
	(swap(basic_streambuf&)): Define for C++11.
	* testsuite/27_io/basic_streambuf/cons/57394.cc: New.

From-SVN: r210228
2014-05-08 18:17:06 +01:00
Paolo Carlini
a3820abe7c acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
	* configure: Regenerate.

From-SVN: r210206
2014-05-08 09:34:49 +00:00
Jonathan Wakely
bbf264c9b2 re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library)
PR libstdc++/61086
	* include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
	Remove.
	* include/bits/stl_vector.h (vector::insert, vector::erase): Use
	arithmetic to obtain a mutable iterator from const_iterator.
	* include/bits/vector.tcc (vector::insert): Likewise.
	* include/debug/vector (vector::erase): Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.

From-SVN: r210162
2014-05-07 15:43:22 +01:00