re PR libstdc++/58302 (compilation error : std::negative_binomial_distribution::opera...
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 3 Sep 2013 10:12:19 +0000 (10:12 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 3 Sep 2013 10:12:19 +0000 (10:12 +0000)
2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58302
* include/bits/random.tcc (negative_binomial_distribution<>::
operator()(_UniformRandomNumberGenerator&, const param_type&):
Fix typo in template argument.
* testsuite/26_numerics/random/negative_binomial_distribution/
operators/58302.cc: New.

From-SVN: r202208

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.tcc
libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc [new file with mode: 0644]

index cd365692b5c9fe9b8fb29cf006a5defdff6c5d95..50d65dd38432d161c68cee8bfd4e44f6258bcc92 100644 (file)
@@ -1,3 +1,12 @@
+2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/58302
+       * include/bits/random.tcc (negative_binomial_distribution<>::
+       operator()(_UniformRandomNumberGenerator&, const param_type&):
+       Fix typo in template argument.
+       * testsuite/26_numerics/random/negative_binomial_distribution/
+       operators/58302.cc: New.
+
 2013-09-02  Tim Shen  <timshen91@gmail.com>
 
        * regex_automaton.h: Rearrange _NFA's layout.
index c6db5b40cb70c53b5a6cca47774eb4ec366e7671..10c65506f81fad550da774bc05bf77c64296886a 100644 (file)
@@ -1291,7 +1291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       operator()(_UniformRandomNumberGenerator& __urng,
                 const param_type& __p)
       {
-       typedef typename std::gamma_distribution<result_type>::param_type
+       typedef typename std::gamma_distribution<double>::param_type
          param_type;
        
        const double __y =
diff --git a/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc b/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/operators/58302.cc
new file mode 100644 (file)
index 0000000..3ced018
--- /dev/null
@@ -0,0 +1,34 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++11" }
+// { dg-require-cstdint "" }
+//
+// Copyright (C) 2013 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <random>
+
+void test01()
+{
+  typedef std::negative_binomial_distribution<> dist_type;
+
+  std::default_random_engine engine;
+
+  dist_type dist;
+  dist_type::param_type param(3, 0.5);
+
+  dist(engine, param); // compile error!
+}