gcc/libstdc++-v3/include/bits
Jonathan Wakely 4f3c75ba3a Reorder conditions in uses-allocator construction helper
The erased_type condition is only true for code using the Library
Fundamentals TS, so assume it's less common and only check it after
checking for convertibility.

This does mean for types using erased_type the more expensive
convertibility check is done first, but such types are rare.

	* include/bits/uses_allocator.h (__is_erased_or_convertible): Reorder
	conditions. Add comments.
	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error line.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise.

From-SVN: r262945
2018-07-24 14:03:25 +01:00
..
algorithmfwd.h Update copyright years. 2018-01-03 11:03:58 +01:00
alloc_traits.h Remove redundant #if conditional 2018-07-03 22:04:37 +01:00
allocated_ptr.h Update copyright years. 2018-01-03 11:03:58 +01:00
allocator.h LWG 3035. std::allocator's constructors should be constexpr 2018-06-18 16:47:07 +01:00
atomic_base.h Implement P0558R2 changes to std::atomic 2018-05-24 16:28:26 +01:00
atomic_futex.h Update copyright years. 2018-01-03 11:03:58 +01:00
basic_ios.h Update copyright years. 2018-01-03 11:03:58 +01:00
basic_ios.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
basic_string.h PR libstdc++/58265 add noexcept to basic_string::assign(basic_string&&) 2018-07-05 18:03:05 +01:00
basic_string.tcc PR libstdc++/58265 implement LWG 2063 for COW strings 2018-07-05 16:56:06 +01:00
boost_concept_check.h Update copyright years. 2018-01-03 11:03:58 +01:00
c++0x_warning.h Update copyright years. 2018-01-03 11:03:58 +01:00
c++config P0754R2 <version> header 2018-06-18 17:42:11 +01:00
char_traits.h Only define __cpp_lib_constexpr_char_traits for C++17 2018-06-15 16:47:56 +01:00
codecvt.h Update copyright years. 2018-01-03 11:03:58 +01:00
concept_check.h Update copyright years. 2018-01-03 11:03:58 +01:00
cpp_type_traits.h Add std::__is_byte<std::byte> specialization 2018-06-27 11:30:52 +01:00
deque.tcc deque.tcc (deque<>::_M_assign_aux): Cast to void to ensure overloaded comma not used. 2018-05-02 19:51:33 +00:00
enable_special_members.h Update copyright years. 2018-01-03 11:03:58 +01:00
forward_list.h P0646R1 Improving the Return Value of Erase-Like Algorithms I 2018-07-04 21:15:01 +01:00
forward_list.tcc P0646R1 Improving the Return Value of Erase-Like Algorithms I 2018-07-04 21:15:01 +01:00
fs_dir.h PR libstdc++/86595 add missing noexcept 2018-07-20 12:52:54 +01:00
fs_fwd.h Update copyright years. 2018-01-03 11:03:58 +01:00
fs_ops.h Avoid redundant calls to filesystem::status_known 2018-01-04 13:46:22 +00:00
fs_path.h LWG 2989 hide path iostream operators from normal lookup 2018-06-18 19:59:44 +01:00
fstream.tcc Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
functexcept.h Update copyright years. 2018-01-03 11:03:58 +01:00
functional_hash.h Update copyright years. 2018-01-03 11:03:58 +01:00
gslice_array.h PR libstdc++/83860 avoid dangling references in valarray closure types 2018-05-02 17:41:46 +01:00
gslice.h Update copyright years. 2018-01-03 11:03:58 +01:00
hashtable_policy.h re PR libstdc++/83709 (Inserting duplicates into an unordered associative containers causes the container to invalidate iterators) 2018-01-09 21:05:10 +00:00
hashtable.h re PR libstdc++/83709 (Inserting duplicates into an unordered associative containers causes the container to invalidate iterators) 2018-01-09 21:05:10 +00:00
indirect_array.h Update copyright years. 2018-01-03 11:03:58 +01:00
invoke.h Update copyright years. 2018-01-03 11:03:58 +01:00
ios_base.h Define special members as defaulted 2018-06-08 17:43:14 +01:00
istream.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
list.tcc P0646R1 Improving the Return Value of Erase-Like Algorithms I 2018-07-04 21:15:01 +01:00
locale_classes.h Update copyright years. 2018-01-03 11:03:58 +01:00
locale_classes.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
locale_conv.h P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 15:12:24 +01:00
locale_facets_nonio.h Update copyright years. 2018-01-03 11:03:58 +01:00
locale_facets_nonio.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
locale_facets.h Update copyright years. 2018-01-03 11:03:58 +01:00
locale_facets.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
localefwd.h Update copyright years. 2018-01-03 11:03:58 +01:00
mask_array.h PR libstdc++/83860 avoid dangling references in valarray closure types 2018-05-02 17:41:46 +01:00
memoryfwd.h Update copyright years. 2018-01-03 11:03:58 +01:00
move.h Update copyright years. 2018-01-03 11:03:58 +01:00
node_handle.h PR libstdc++/82966 fix swapping of node handles 2018-05-14 15:27:54 +01:00
ostream_insert.h Update copyright years. 2018-01-03 11:03:58 +01:00
ostream.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
parse_numbers.h PR libstdc++/84671 handle digit separators in duration literals 2018-03-02 20:38:50 +00:00
postypes.h Define std::fpos special members as defaulted 2018-06-04 17:07:55 +01:00
predefined_ops.h Update copyright years. 2018-01-03 11:03:58 +01:00
ptr_traits.h Update copyright years. 2018-01-03 11:03:58 +01:00
quoted_string.h PR libstdc++/86008 add std::quoted support for string_view 2018-06-06 07:05:07 +01:00
random.h PR libstdc++/86168 fix ambiguous default constructor 2018-06-15 17:11:12 +01:00
random.tcc PR libstdc++/85749 constrain seed sequences for random number engines 2018-05-15 16:36:46 +01:00
range_access.h Update copyright years. 2018-01-03 11:03:58 +01:00
refwrap.h LWG 2993 reference_wrapper<T> conversion from T&& 2018-06-15 15:19:47 +01:00
regex_automaton.h PR libstdc++/85098 add missing definitions for static constants 2018-05-18 17:14:04 +01:00
regex_automaton.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
regex_compiler.h Optimize std::sub_match comparisons using string_view-like type 2018-07-02 21:31:11 +01:00
regex_compiler.tcc PR libstdc++/85098 add missing definitions for static constants 2018-05-18 17:14:04 +01:00
regex_constants.h Update copyright years. 2018-01-03 11:03:58 +01:00
regex_error.h Update copyright years. 2018-01-03 11:03:58 +01:00
regex_executor.h Update copyright years. 2018-01-03 11:03:58 +01:00
regex_executor.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
regex_scanner.h Update copyright years. 2018-01-03 11:03:58 +01:00
regex_scanner.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
regex.h Optimize std::sub_match comparisons using string_view-like type 2018-07-02 21:31:11 +01:00
regex.tcc Add missing noexcept on definition to match declaration 2018-06-26 13:24:47 +01:00
shared_ptr_atomic.h Update copyright years. 2018-01-03 11:03:58 +01:00
shared_ptr_base.h Use default visibility to work around clang -fvisibility-inlines-hidden bug 2018-07-20 12:24:55 +01:00
shared_ptr.h PR libstdc++/86537 remove less<shared_ptr<T>> partial specialization 2018-07-16 18:13:41 +01:00
slice_array.h PR libstdc++/83860 avoid dangling references in valarray closure types 2018-05-02 17:41:46 +01:00
specfun.h Update copyright years. 2018-01-03 11:03:58 +01:00
sstream.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
std_abs.h PR libstdc++/85729 add linkage specifications to headers 2018-05-10 13:35:45 +01:00
std_function.h Make std::function tolerate semantically non-CopyConstructible objects 2018-05-09 14:28:11 +01:00
std_mutex.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_algo.h 2018-06-05 François Dumont <fdumont@gcc.gnu.org> 2018-06-05 05:47:44 +00:00
stl_algobase.h Use __builtin_memmove for trivially copyable types 2018-07-19 19:58:09 +01:00
stl_bvector.h Define special members as defaulted 2018-06-08 17:43:14 +01:00
stl_construct.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_deque.h Some libstdc++ fixes for -Wdeprecated-copy. 2018-05-18 16:02:14 -04:00
stl_function.h PR libstdc++/85040 fix std::less<void> etc. ambiguities 2018-03-22 14:23:27 +00:00
stl_heap.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_iterator_base_funcs.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_iterator_base_types.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_iterator.h Some libstdc++ fixes for -Wdeprecated-copy. 2018-05-18 16:02:14 -04:00
stl_list.h P0646R1 Improving the Return Value of Erase-Like Algorithms I 2018-07-04 21:15:01 +01:00
stl_map.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
stl_multimap.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
stl_multiset.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
stl_numeric.h PR libstdc++/84928 use std::move in <numeric> algorithms 2018-07-06 15:16:13 +01:00
stl_pair.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_queue.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_raw_storage_iter.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_relops.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_set.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
stl_stack.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_tempbuf.h 2018-06-05 François Dumont <fdumont@gcc.gnu.org> 2018-06-05 05:47:44 +00:00
stl_tree.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
stl_uninitialized.h Update copyright years. 2018-01-03 11:03:58 +01:00
stl_vector.h stl_vector.h (struct _Vector_base<>::_Vector_impl_data): New. 2018-06-27 20:23:20 +00:00
stream_iterator.h Define special members as defaulted 2018-06-08 17:43:14 +01:00
streambuf_iterator.h Define special members as defaulted 2018-06-08 17:43:14 +01:00
streambuf.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
string_view.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
stringfwd.h Update copyright years. 2018-01-03 11:03:58 +01:00
uniform_int_dist.h P0935R0 Eradicating unnecessarily explicit default constructors 2018-06-14 14:32:53 +01:00
unique_ptr.h Update copyright years. 2018-01-03 11:03:58 +01:00
unordered_map.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
unordered_set.h P0458R2 Checking for Existence of an Element in Associative Containers 2018-07-04 19:16:26 +01:00
uses_allocator.h Reorder conditions in uses-allocator construction helper 2018-07-24 14:03:25 +01:00
valarray_after.h LWG 3074 make scalar types non-deduced in valarray non-member functions 2018-06-14 20:36:54 +01:00
valarray_array.h Add __attribute__((malloc) to allocator and remove unused code 2018-05-14 16:35:12 +01:00
valarray_array.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
valarray_before.h PR libstdc++/83860 avoid dangling references in valarray closure types 2018-05-02 17:41:46 +01:00
vector.tcc PR libstdc++/83982 fix exception-safety guarantee of std::vector::resize 2018-06-14 10:26:51 +01:00