aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Smith-Rowland <3dw4rd@verizon.net>2010-02-08 17:42:12 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-02-08 17:42:12 +0000
commit83c290e2d426bc1ee3ed4a91758738e0197cdff2 (patch)
tree0a01259d2ec5d6e05a673e332f5e5a5912810a14
parent783b008c606ae86ca76a703e3e3491bdc956be6a (diff)
downloadgcc-83c290e2d426bc1ee3ed4a91758738e0197cdff2.zip
gcc-83c290e2d426bc1ee3ed4a91758738e0197cdff2.tar.gz
gcc-83c290e2d426bc1ee3ed4a91758738e0197cdff2.tar.bz2
random.tcc (uniform_int_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Use make_unsigned instead of __add_unsigned and conditional instead of...
2010-02-08 Ed Smith-Rowland <3dw4rd@verizon.net> * include/bits/random.tcc (uniform_int_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Use make_unsigned instead of __add_unsigned and conditional instead of __conditional_type. * include/std/random: Do not include <ext/type_traits.h> and <ext/numeric_traits.h>. From-SVN: r156608
-rw-r--r--libstdc++-v3/ChangeLog9
-rw-r--r--libstdc++-v3/include/bits/random.tcc12
-rw-r--r--libstdc++-v3/include/std/random4
3 files changed, 15 insertions, 10 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fe4f039..4365a43 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,12 @@
+2010-02-08 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/bits/random.tcc (uniform_int_distribution<>::
+ operator()(_UniformRandomNumberGenerator&, const param_type&)):
+ Use make_unsigned instead of __add_unsigned and conditional
+ instead of __conditional_type.
+ * include/std/random: Do not include <ext/type_traits.h> and
+ <ext/numeric_traits.h>.
+
2010-02-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/16896
diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc
index ee92240..080a1da 100644
--- a/libstdc++-v3/include/bits/random.tcc
+++ b/libstdc++-v3/include/bits/random.tcc
@@ -822,13 +822,11 @@ namespace std
// __urng.min(), __param.b(), __param.a(). Currently works fine only
// in the most common case __urng.max() - __urng.min() >=
// __param.b() - __param.a(), with __urng.max() > __urng.min() >= 0.
- typedef typename __gnu_cxx::__add_unsigned<typename
- _UniformRandomNumberGenerator::result_type>::__type __urntype;
- typedef typename __gnu_cxx::__add_unsigned<result_type>::__type
- __utype;
- typedef typename __gnu_cxx::__conditional_type<(sizeof(__urntype)
- > sizeof(__utype)),
- __urntype, __utype>::__type __uctype;
+ typedef typename std::make_unsigned<typename
+ _UniformRandomNumberGenerator::result_type>::type __urntype;
+ typedef typename std::make_unsigned<result_type>::type __utype;
+ typedef typename std::conditional<(sizeof(__urntype) > sizeof(__utype)),
+ __urntype, __utype>::type __uctype;
result_type __ret;
diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random
index 72d3ceb..c1c7cdf 100644
--- a/libstdc++-v3/include/std/random
+++ b/libstdc++-v3/include/std/random
@@ -1,6 +1,6 @@
// <random> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,8 +41,6 @@
#include <string>
#include <iosfwd>
#include <limits>
-#include <ext/type_traits.h>
-#include <ext/numeric_traits.h>
#include <debug/debug.h>
#include <type_traits>