gcc/libstdc++-v3/include/bits
Marc Glisse cf48c25519 re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)
2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51795
	* include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
	(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
	__lg(long long), __lg(unsigned long long)): Define constexpr.
	* include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
	limitations.
	(__mod): Adjust.
	(linear_congruential): Remove FIXME static_assert.
	* include/bits/random.tcc (_Mod<>): Adjust.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	51795.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r186948
2012-04-29 23:36:09 +00:00
..
algorithmfwd.h Makefile.am (install-freestanding-headers): Install c++0x_warning.h. 2011-11-01 00:02:45 -04:00
alloc_traits.h ptr_traits.h (__rebind): Replace with... 2011-11-08 00:33:45 +00:00
allocator.h allocator.h (std::allocator): Base class is __allocator_base. 2012-03-19 21:41:15 +00:00
atomic_base.h re PR libstdc++/51811 ([C++0x] Incorrect increment/decrement of atomic pointers) 2012-02-03 19:49:11 +00:00
basic_ios.h
basic_ios.tcc
basic_string.h hash-long-double-aux.cc: Rename to... 2011-11-18 12:37:06 +00:00
basic_string.tcc configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64". 2011-10-14 08:57:55 +02:00
boost_concept_check.h
c++0x_warning.h re PR c++/50920 (add a -std=c++11 option to the driver) 2011-10-31 15:34:14 -04:00
c++config c++config: Add tr2 to versioned namespaces. 2011-11-02 04:23:33 +00:00
char_traits.h
codecvt.h re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed) 2011-10-14 00:12:40 +00:00
concept_check.h
cpp_type_traits.h
deque.tcc re PR libstdc++/52799 (deque::emplace(iterator, ...) tries to call push_front(...), which doesn't exist) 2012-03-31 01:56:55 +00:00
forward_list.h forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310). 2012-04-11 17:31:57 +00:00
forward_list.tcc forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310). 2012-04-11 17:31:57 +00:00
fstream.tcc
functexcept.h
functional_hash.h re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types) 2012-04-11 11:27:50 +00:00
gslice_array.h
gslice.h
hashtable_policy.h hashtable.h: Adjust doxygen markup for base classes. 2012-04-26 02:20:32 +00:00
hashtable.h hashtable.h: Adjust doxygen markup for base classes. 2012-04-26 02:20:32 +00:00
indirect_array.h
ios_base.h
istream.tcc
list.tcc re PR libstdc++/49561 ([C++0x] std::list::size complexity) 2011-10-04 22:19:44 +00:00
locale_classes.h user.cfg.in: Add macros, directories. 2011-12-10 15:33:06 +00:00
locale_classes.tcc user.cfg.in: Add macros, directories. 2011-12-10 15:33:06 +00:00
locale_facets_nonio.h
locale_facets_nonio.tcc
locale_facets.h user.cfg.in: Update to Doxygen 1.8.0. 2012-03-08 05:20:52 +00:00
locale_facets.tcc
localefwd.h
mask_array.h
move.h type_traits: Doxygen improvements. 2011-12-04 16:53:17 +00:00
ostream_insert.h
ostream.tcc
postypes.h
ptr_traits.h ptr_traits.h (pointer_traits::rebind): Make public. 2012-04-22 14:42:38 +01:00
random.h re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly) 2012-04-29 23:36:09 +00:00
random.tcc re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly) 2012-04-29 23:36:09 +00:00
range_access.h
regex_compiler.h
regex_constants.h
regex_cursor.h
regex_error.h
regex_grep_matcher.h
regex_grep_matcher.tcc
regex_nfa.h
regex_nfa.tcc
regex.h re PR libstdc++/51711 (regex.h contains incorrect code) 2011-12-30 11:40:37 +00:00
shared_ptr_base.h re PR c++/52924 (Using an std::function object as deleter of shared_ptr in C++0x mode does not compile) 2012-04-11 23:54:53 +01:00
shared_ptr.h user.cfg.in: Add macros, directories. 2011-12-10 15:33:06 +00:00
slice_array.h
sstream.tcc
stl_algo.h Fix PR52822 (stable_partition move-assigns object to itself) by scanning for... 2012-04-12 20:59:09 +00:00
stl_algobase.h re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly) 2012-04-29 23:36:09 +00:00
stl_bvector.h stl_algobase.h (iter_swap): In C++11 mode just call swap. 2012-03-05 16:31:50 +00:00
stl_construct.h
stl_deque.h re PR libstdc++/43813 ([DR1234] vector<T*>(3, NULL) fails to compile) 2012-03-05 01:15:28 +00:00
stl_function.h re PR libstdc++/52942 (using std::ref with a std::unordered_map fails to compile) 2012-04-12 12:18:06 +00:00
stl_heap.h stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate. 2011-12-04 13:21:53 +00:00
stl_iterator_base_funcs.h
stl_iterator_base_types.h re PR libstdc++/43813 ([DR1234] vector<T*>(3, NULL) fails to compile) 2012-03-05 01:15:28 +00:00
stl_iterator.h * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments. 2012-01-14 17:47:18 +00:00
stl_list.h stl_list.h (list::_M_size): Use NSDMI. 2012-03-20 17:01:19 +00:00
stl_map.h re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.) 2011-11-15 23:28:49 +00:00
stl_multimap.h re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.) 2011-11-15 23:28:49 +00:00
stl_multiset.h Makefile.am (install-freestanding-headers): Install c++0x_warning.h. 2011-11-01 00:02:45 -04:00
stl_numeric.h re PR libstdc++/51540 (doxygen documentation for partial_sum misleading) 2011-12-15 09:49:59 +00:00
stl_pair.h re PR libstdc++/51183 (pair piecewise_construct_t constructor copies) 2011-12-06 15:13:04 +00:00
stl_queue.h
stl_raw_storage_iter.h
stl_relops.h
stl_set.h Makefile.am (install-freestanding-headers): Install c++0x_warning.h. 2011-11-01 00:02:45 -04:00
stl_stack.h
stl_tempbuf.h
stl_tree.h re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.) 2011-11-15 23:28:49 +00:00
stl_uninitialized.h
stl_vector.h re PR libstdc++/52591 ([C++0x] [4.7 Regression] moving std::vector relies on movable elements) 2012-04-01 23:04:54 +01:00
stream_iterator.h
streambuf_iterator.h
streambuf.tcc
stringfwd.h
unique_ptr.h hash-long-double-aux.cc: Rename to... 2011-11-18 12:37:06 +00:00
unordered_map.h unordered_map.h (__unordered_map): Remove. 2012-04-13 00:33:10 +00:00
unordered_set.h unordered_map.h (__unordered_map): Remove. 2012-04-13 00:33:10 +00:00
uses_allocator.h
valarray_after.h
valarray_array.h
valarray_array.tcc
valarray_before.h
vector.tcc hash-long-double-aux.cc: Rename to... 2011-11-18 12:37:06 +00:00