Bug 39629 - [4.5 Regression] Revision 145483 caused many libstdc++ failures
Summary: [4.5 Regression] Revision 145483 caused many libstdc++ failures
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libstdc++ (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
: 39652 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-04-03 15:55 UTC by H.J. Lu
Modified: 2009-04-09 23:47 UTC (History)
5 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2009-04-03 19:48:03


Attachments
Fix a mistake in operator precedence in bits/random.h (_ShiftMin1) (780 bytes, patch)
2009-04-03 17:48 UTC, Ed Smith-Rowland
Details | Diff
better patchlet. (781 bytes, patch)
2009-04-04 00:47 UTC, Ed Smith-Rowland
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2009-04-03 15:55:36 UTC
Revision 145493

http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg00114.html

may have caused

FAIL: 26_numerics/random/independent_bits_engine/cons/base_copy.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/cons/base_move.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/cons/default.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/cons/seed1.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/cons/seed2.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/cons/seed_seq.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/operators/equal.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/operators/serialize.cc (test for excess errors)
FAIL: 26_numerics/random/independent_bits_engine/requirements/typedefs.cc (test for excess errors)
FAIL: 26_numerics/random/knuth_b.cc execution test
FAIL: 26_numerics/random/mt19937_64.cc (test for excess errors)
FAIL: 26_numerics/random/piecewise_linear_distribution/operators/serialize.cc execution test
FAIL: 26_numerics/random/ranlux48.cc execution test
FAIL: 26_numerics/random/ranlux48_base.cc execution test

on Fedora 9/ia32 and Fedora 10/x86-64. I got

Executing on host: /export/gnu/import/svn/gcc-test/bld/./gcc/g++ -shared-libgcc -B/export/gnu/import/svn/gcc-test/bld/./gcc -nostdinc++ -L/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/src -L/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -m32 -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -g -O2   -D_GNU_SOURCE   -DLOCALEDIR="." -nostdinc++ -I/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/include -I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/libsupc++ -I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/include/backward -I/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/testsuite/util -Wl,--gc-sections /export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc   -std=c++0x ./libtestc++.a  -lm   -m32 -o ./base_copy.exe    (timeout = 600)
In file included from /export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/random:55,^M
                 from /export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc:26:^M
/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h: In instantiation of 'std::independent_bits_engine<std::subtract_with_carry_engine<long long unsigned int, 48u, 5u, 12u>, 48u, long unsigned int>':^M
/export/gnu/import/svn/gcc-test/src-trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc:39:   instantiated from here^M
/export/gnu/import/svn/gcc-test/bld/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:968: error: static assertion failed: "template arguments out of bounds in independent_bits_engine"^M
compiler exited with status 1
Comment 1 H.J. Lu 2009-04-03 16:00:10 UTC
Oops. It is revision 145483:

http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg00104.html
Comment 2 Paolo Carlini 2009-04-03 17:27:23 UTC
Note, most if not all, those fails seem trivial: we are just instantiating with a second non-type template argument (__w) which is too big compared to the size of the type of the third argument, a 32-bit unsigned long. We could either change the latter to unsigned long long or reduce the value of the second. If Benjamin doesn't come to this I'll do it, to my taste, just to quickly shut-up the noise.

Also, I'm noticing the use of types like uint_fast64_t in the testcases, that at the moment is still not safe (will be when Joseph' work on PR 448 will be complete for all the OSes), because some targets may lack the stdint.h header completely. For now, instead of guarding the test with dg-require-cstdint I think we can safely change the types to some normal C++98 types. Or in fact maybe we could guard, it's easier to keep the test unchanged and remove the guards when 448 will be closed. Again, up to Benjamin of course, or I will shut the noise to my taste.
Comment 3 Ed Smith-Rowland 2009-04-03 17:48:36 UTC
Created attachment 17584 [details]
Fix a mistake in operator precedence in bits/random.h (_ShiftMin1)
Comment 4 H.J. Lu 2009-04-03 19:45:01 UTC
(In reply to comment #3)
> Created an attachment (id=17584) [edit]
> Fix a mistake in operator precedence in bits/random.h (_ShiftMin1)
> 

It still doesn't work for 32bit:

Executing on host: /export/build/gnu/gcc/build-x86_64-linux/./gcc/g++ -shared-libgcc -B/export/build/gnu/gcc/build-x86_64-linux/./gcc -nostdinc++ -L/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/src -L/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/src/.libs -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -m32 -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -g -O2   -D_GNU_SOURCE   -DLOCALEDIR="." -nostdinc++ -I/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include -I/export/gnu/import/gcc/libstdc++-v3/libsupc++ -I/export/gnu/import/gcc/libstdc++-v3/include/backward -I/export/gnu/import/gcc/libstdc++-v3/testsuite/util -Wl,--gc-sections /export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc   -pthread -std=gnu++0x ./libtestc++.a  -lm   -m32 -o ./default_weaktoshared.exe    (timeout = 600)
In file included from /export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/random:55,^M
                 from /export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:27:^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h: In instantiation of 'const long unsigned int std::__detail::_ShiftMin1<long unsigned int, 32u, false>::__value':^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:390:   instantiated from 'std::mersenne_twister_engine<long unsigned int, 32u, 624u, 397u, 31u, 2567483615ul, 11u, 4294967295ul, 7u, 2636928640ul, 15u, 4022730752ul, 18u, 1812433253ul>'^M
/export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:   instantiated from here^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:83: error: 'max' is not a member of '__gnu_cxx::__numeric_traits<long unsigned int>'^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h: In instantiation of 'std::mersenne_twister_engine<long unsigned int, 32u, 624u, 397u, 31u, 2567483615ul, 11u, 4294967295ul, 7u, 2636928640ul, 15u, 4022730752ul, 18u, 1812433253ul>':^M
/export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:   instantiated from here^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:410: error: non-constant condition for static assertion^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h: In instantiation of 'std::mersenne_twister_engine<long unsigned int, 32u, 624u, 397u, 31u, 2567483615ul, 11u, 4294967295ul, 7u, 2636928640ul, 15u, 4022730752ul, 18u, 1812433253ul>':^M
/export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:   instantiated from here^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:412: error: non-constant condition for static assertion^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h: In instantiation of 'std::mersenne_twister_engine<long unsigned int, 32u, 624u, 397u, 31u, 2567483615ul, 11u, 4294967295ul, 7u, 2636928640ul, 15u, 4022730752ul, 18u, 1812433253ul>':^M
/export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:   instantiated from here^M
/export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/32/libstdc++-v3/include/bits/random.h:414: error: non-constant condition for static assertion^M
compiler exited with status 1
Comment 5 David Edelsohn 2009-04-03 19:48:03 UTC
I see similar failures on AIX.
Comment 6 Paolo Carlini 2009-04-03 21:40:43 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Created an attachment (id=17584) [edit]
> > Fix a mistake in operator precedence in bits/random.h (_ShiftMin1)
> > 
> It still doesn't work for 32bit:
> 
> /export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:

HJ, I'm sorry, I do not understand your english: you say "it *still* doesn't work", but this *specific* fail was not present in your initial list. Thus, is Ed's patchlet introducing one *additional* fail?

Note, in general Ed's patchlet alone *cannot* *fix* the fails I discussed in my previous message, I outlined what is wrong and the proper fix for those. I just want to understand if it makes things worse or not. Note that so far, that is according to the current mainline status, we *cannot* say to have properly *regressions* because all the tests you mentioned in this audit so far are *new*. Just to be accurate.
Comment 7 H.J. Lu 2009-04-03 22:17:59 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > Created an attachment (id=17584) [edit]
> > > Fix a mistake in operator precedence in bits/random.h (_ShiftMin1)
> > > 
> > It still doesn't work for 32bit:
> > 
> > /export/gnu/import/gcc/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:93:
> 
> HJ, I'm sorry, I do not understand your english: you say "it *still* doesn't
> work", but this *specific* fail was not present in your initial list. Thus, is
> Ed's patchlet introducing one *additional* fail?
> 

"make check" was clean before revision 145483. Now I have many failures
on 32bit. Revision 145508 with patch in comment #3 still have many failures
on 32bit.
Comment 8 Paolo Carlini 2009-04-03 22:43:29 UTC
(In reply to comment #7)
> "make check" was clean before revision 145483. Now I have many failures
> on 32bit. Revision 145508 with patch in comment #3 still have many failures
> on 32bit.

Yes, this is clear. I would say redundant.

Comment 9 Ed Smith-Rowland 2009-04-04 00:47:50 UTC
Created attachment 17585 [details]
better patchlet.
Comment 10 Ed Smith-Rowland 2009-04-04 00:50:14 UTC
Comment on attachment 17585 [details]
better patchlet.

    The last patchlet got most of the new errors on x86_64 linux.

    There was one more mistake that caused an error in mt19937_64.

    In bits/random.h -
    change this line:
              __gnu_cxx::__numeric_traits<_UIntType>::max;
    to this:
              __gnu_cxx::__numeric_traits<_UIntType>::__max;

    Then there are no errors on x86_64 linux targets as of 145513.

    The 32-bit target issues will not be addressed by this though some extra errors will be fixed.

    I attached a new patch.

    Sorry for any confusion.
Comment 11 paolo@gcc.gnu.org 2009-04-04 23:09:14 UTC
Subject: Bug 39629

Author: paolo
Date: Sat Apr  4 23:09:02 2009
New Revision: 145553

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145553
Log:
2009-04-05  Edward M. Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.h (struct _ShiftMin1): Fix small typo and
	thinko.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: Enable.

2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (partial)
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: Use uint_fast64_t instead of unsigned long.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/mt19937_64.cc: Use ull.

Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/random.h
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_copy.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/base_move.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/default.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/equal.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/requirements/typedefs.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/mersenne_twister_engine/cons/default.cc
    trunk/libstdc++-v3/testsuite/26_numerics/random/mt19937_64.cc

Comment 12 H.J. Lu 2009-04-05 22:42:39 UTC
As of revision 145565, I still see

FAIL: 26_numerics/random/knuth_b.cc execution test
FAIL: 26_numerics/random/piecewise_linear_distribution/operators/serialize.cc execution test
FAIL: 26_numerics/random/ranlux48.cc execution test
FAIL: 26_numerics/random/ranlux48_base.cc execution test

for Linux/ia32 target.
Comment 13 Paolo Carlini 2009-04-05 22:52:55 UTC
Indeed, the fix is marked as *partial*.
Comment 14 Paolo Carlini 2009-04-07 20:48:48 UTC
*** Bug 39652 has been marked as a duplicate of this bug. ***
Comment 15 paolo@gcc.gnu.org 2009-04-09 23:37:23 UTC
Subject: Bug 39629

Author: paolo
Date: Thu Apr  9 23:37:08 2009
New Revision: 145867

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145867
Log:
2009-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (final bits)
	* include/bits/random.h (subtract_with_carry_engine<>::_S_modulus):
	Remove, consistently use __detail::_Shift<_UIntType, __w>::__value.
	* include/bits/random.tcc (shuffle_order_engine<>::operator()()):
	Fix formula for __j.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&): Remove.
	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const normal_distribution<>&, const normal_distribution<>&), 
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const 
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Remove.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: Remove.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

	* include/bits/random.h (linear_congruential_engine<>::seed(_Gen&,
	true_type), linear_congruential_engine<>::seed(_Gen&, false_type),
	mersenne_twister_engine<>::seed(_Gen&,
	true_type), mersenne_twister_engine<>::seed(_Gen&, false_type),
	subtract_with_carry_engine<>::seed(_Gen&,
	true_type), subtract_with_carry_engine<>::seed(_Gen&, false_type)):
	Remove, unused.
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(_Gen&, false_type): Likewise.

Removed:
    trunk/libstdc++-v3/testsuite/26_numerics/random/bernoulli_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/operators/
    trunk/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/operators/
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/random.h
    trunk/libstdc++-v3/include/bits/random.tcc

Comment 16 Paolo Carlini 2009-04-09 23:47:11 UTC
Fixed.