public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/54376] New: incorrect complaint about redefinition
@ 2012-08-25 19:02 drepper.fsp at gmail dot com
  2012-08-25 19:45 ` [Bug c++/54376] " redi at gcc dot gnu.org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: drepper.fsp at gmail dot com @ 2012-08-25 19:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

             Bug #: 54376
           Summary: incorrect complaint about redefinition
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: drepper.fsp@gmail.com


At least I think this is a compiler problem.  I cannot see anything wrong in
the libstdc++ code or in my test code.

Compiling the following code with 4.7.0 or even the current trunk version of
the compiler will produce an error like this.  There is no double inclusion
problem and still the line with the redefinition is exactly the same as the
definition.

If you take out one of the two variable definitions and uses the error
disappears which indicates the problem is that the compiler doesn't distinguish
instantiations correctly.

The other pairs of instantiations also produce the same type of mistake.


In file included from
/usr/lib/gcc/x86_64-redhat-linux/4.7.0/../../../../include/c++/4.7.0/random:50:0,
                 from r3.cc:3:
/usr/lib/gcc/x86_64-redhat-linux/4.7.0/../../../../include/c++/4.7.0/bits/random.h:
In instantiation of ‘class std::lognormal_distribution<double>’:
r3.cc:31:39:   required from here
/usr/lib/gcc/x86_64-redhat-linux/4.7.0/../../../../include/c++/4.7.0/bits/random.h:2279:9:
error: redefinition of ‘template<class _RealType1> bool std::operator==(const
std::lognormal_distribution<_RealType>&, const
std::lognormal_distribution<_RealType>&)’
/usr/lib/gcc/x86_64-redhat-linux/4.7.0/../../../../include/c++/4.7.0/bits/random.h:2279:9:
error: ‘template<class _RealType1> bool std::operator==(const
std::lognormal_distribution<_RealType>&, const
std::lognormal_distribution<_RealType>&)’ previously defined here



Source:

#include <functional>
#include <iostream>
#include <random>


template<class E, class D>
void measure(const char *name, size_t n, E &e, D &d)
{
  typename D::result_type arr[n];
  typename D::result_type s = 0;
  for (int tries = 0; tries < 100; ++tries)
    {
      e.seed(1234);

      for (size_t i = 0; i < n; ++i)
    arr[i] = d(e);

      for (size_t i = 0; i < n; ++i)
    s += arr[i];
    }

  std::cout << name << " " << n << " = " << " " << s << std::endl;
}


int
main(void)
{
  std::mt19937 e2;
  std::lognormal_distribution<float> d7;
  std::lognormal_distribution<double> d8;
  //std::gamma_distribution<float> d9;
  //std::gamma_distribution<double> d10;
  //std::chi_squared_distribution<float> d11;
  //std::chi_squared_distribution<double> d12;
  //std::fisher_f_distribution<float> d15;
  //std::fisher_f_distribution<double> d16;
  //std::student_t_distribution<float> d17;
  //std::student_t_distribution<double> d18;
  //std::binomial_distribution<uint32_t> d20;
  //std::binomial_distribution<uint64_t> d21;
  //std::negative_binomial_distribution<uint32_t> d24;
  //std::negative_binomial_distribution<uint64_t> d25;
  //std::poisson_distribution<uint32_t> d26;
  //std::poisson_distribution<uint64_t> d27;


  for (size_t n = 10; n < 100000; n *= 1.1)
    {
      measure("lognormal:32", n, e2, d7);
      measure("lognormal:64", n, e2, d8);
      //measure("gamma:32", n, e2, d9);
      //measure("gamma:64", n, e2, d10);
      //measure("chi_squared:32", n, e2, d11);
      //measure("chi_squared:64", n, e2, d12);
      //measure("fisher_f:32", n, e2, d15);
      //measure("fisher_f:64", n, e2, d16);
      //measure("student_t:32", n, e2, d17);
      //measure("student_t:64", n, e2, d18);
      //measure("binomial:32", n, e2, d20);
      //measure("binomial:64", n, e2, d21);
      //measure("negative_binomial:32", n, e2, d24);
      //measure("negative_binomial:64", n, e2, d25);
      //measure("poisson:32", n, e2, d26);
      //measure("poisson:64", n, e2, d27);
    }
}


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
@ 2012-08-25 19:45 ` redi at gcc dot gnu.org
  2012-08-25 19:50 ` redi at gcc dot gnu.org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-25 19:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-08-25
     Ever Confirmed|0                           |1
      Known to fail|                            |4.6.3, 4.7.2, 4.8.0

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-25 19:44:49 UTC ---
Reduced:

template<class> struct x {
  template<class T>
    friend bool operator==(x<T>, x<T>) { return false; }
};

int main()
{
  x<int> x1;
  x<double> x2;
  x1 == x1;
  x2 == x2;
}

r.cc: In instantiation of 'x<double>':
r.cc:9:13:   instantiated from here
r.cc:3:17: error: redefinition of 'template<class T> bool operator==(x<T>,
x<T>)'
r.cc:3:17: error: 'template<class T> bool operator==(x<T>, x<T>)' previously
defined here


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
  2012-08-25 19:45 ` [Bug c++/54376] " redi at gcc dot gnu.org
@ 2012-08-25 19:50 ` redi at gcc dot gnu.org
  2012-08-25 20:05 ` paolo.carlini at oracle dot com
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-25 19:50 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-25 19:50:30 UTC ---
Clang and EDG accept the reduced testcase, but every GCC I tried back to 4.1.2
rejects it, with a different error for 4.1.2:

r.cc:10: error: ambiguous overload for 'operator==' in 'x1 == x1'
r.cc:3: note: candidates are: bool operator==(x<T>, x<T>) [with T = int,
<template-parameter-1-1> = int]
r.cc:3: note:                 bool operator==(x<T>, x<T>) [with T = int,
<template-parameter-1-1> = double]
r.cc:11: error: ambiguous overload for 'operator==' in 'x2 == x2'
r.cc:3: note: candidates are: bool operator==(x<T>, x<T>) [with T = double,
<template-parameter-1-1> = int]
r.cc:3: note:                 bool operator==(x<T>, x<T>) [with T = double,
<template-parameter-1-1> = double]


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
  2012-08-25 19:45 ` [Bug c++/54376] " redi at gcc dot gnu.org
  2012-08-25 19:50 ` redi at gcc dot gnu.org
@ 2012-08-25 20:05 ` paolo.carlini at oracle dot com
  2012-08-25 20:18 ` redi at gcc dot gnu.org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-25 20:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-25 20:04:55 UTC ---
Are you sure EDG accepts it? Not the ICC 12.1 I have at hand...

I think we want to ask Jason anyway -  because I'm not at all sure it's a
compiler bug, neither that it's easy to fix - and possibly resort to
declaration + inline out of class for 4.7.x and maybe 4.8.x too. And an audit
for the rest of the library. Bother.

This works of course:

template<class> struct x {
  template<class T>
    friend bool operator==(x<T>, x<T>);
};

template<class T>
  bool operator==(x<T>, x<T>) { return false; }

int main()
{
  x<int> x1;
  x<double> x2;
  x1 == x1;
  x2 == x2;
}


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (2 preceding siblings ...)
  2012-08-25 20:05 ` paolo.carlini at oracle dot com
@ 2012-08-25 20:18 ` redi at gcc dot gnu.org
  2012-08-25 20:25 ` paolo.carlini at oracle dot com
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-25 20:18 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-25 20:18:41 UTC ---
Ah, I only tried Comeau online - which doesn't link of course.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (3 preceding siblings ...)
  2012-08-25 20:18 ` redi at gcc dot gnu.org
@ 2012-08-25 20:25 ` paolo.carlini at oracle dot com
  2012-08-25 20:31 ` daniel.kruegler at googlemail dot com
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-25 20:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-25 20:25:09 UTC ---
Comeau rejects it for me, the problem happens at compile time.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (4 preceding siblings ...)
  2012-08-25 20:25 ` paolo.carlini at oracle dot com
@ 2012-08-25 20:31 ` daniel.kruegler at googlemail dot com
  2012-08-25 20:34 ` redi at gcc dot gnu.org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2012-08-25 20:31 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler at
                   |                            |googlemail dot com

--- Comment #6 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-08-25 20:31:42 UTC ---
(In reply to comment #5)
> Comeau rejects it for me, the problem happens at compile time.

Just for the record: Visual Studio 2012 Beta also rejects the code for similar
reason.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (5 preceding siblings ...)
  2012-08-25 20:31 ` daniel.kruegler at googlemail dot com
@ 2012-08-25 20:34 ` redi at gcc dot gnu.org
  2012-08-25 20:39 ` paolo.carlini at oracle dot com
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-25 20:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-25 20:34:22 UTC ---
(In reply to comment #5)
> Comeau rejects it for me, the problem happens at compile time.

Huh, so it does, I must have pasted the wrong code last time I tried it, sorry!

If I'd seen Comeau reject it I wouldn't have been so quick to confirm this as a
real bug.  Clang does accept it though.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (6 preceding siblings ...)
  2012-08-25 20:34 ` redi at gcc dot gnu.org
@ 2012-08-25 20:39 ` paolo.carlini at oracle dot com
  2012-08-25 21:04 ` glisse at gcc dot gnu.org
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-25 20:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #8 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-25 20:38:51 UTC ---
I see. Thanks for the clang data point, anyway!

Now we have to figure out which compiler is right and then decide what we want
to do for GCC and its library... I suspect we want to avoid those inline friend
in any case, we can have equally efficient code which definitely works with
4.7.x too (even if it's a bit more verbose)


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (7 preceding siblings ...)
  2012-08-25 20:39 ` paolo.carlini at oracle dot com
@ 2012-08-25 21:04 ` glisse at gcc dot gnu.org
  2012-08-25 22:54 ` drepper.fsp at gmail dot com
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: glisse at gcc dot gnu.org @ 2012-08-25 21:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Marc Glisse <glisse at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |glisse at gcc dot gnu.org

--- Comment #9 from Marc Glisse <glisse at gcc dot gnu.org> 2012-08-25 21:04:15 UTC ---
(In reply to comment #3)
> This works of course:
[...]

Or this as well:

template<class> struct x {
    friend bool operator==(x, x) { return false; }
};

int main()
{
  x<int> x1;
  x<double> x2;
  x1 == x1;
  x2 == x2;
}


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug c++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (8 preceding siblings ...)
  2012-08-25 21:04 ` glisse at gcc dot gnu.org
@ 2012-08-25 22:54 ` drepper.fsp at gmail dot com
  2012-08-26  7:54 ` [Bug libstdc++/54376] " glisse at gcc dot gnu.org
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: drepper.fsp at gmail dot com @ 2012-08-25 22:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #10 from Ulrich Drepper <drepper.fsp at gmail dot com> 2012-08-25 22:54:02 UTC ---
Created attachment 28085
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28085
Avoid nested inlined friend functions

This patch fixes the issue for me.  It also cleans the code.  There is
currently a lot of inconsistency as to where the operator== functions are
defined, all depending on whether they are friends or not.

With this patch all operator== are defined after the class and friend
declarations are used.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (9 preceding siblings ...)
  2012-08-25 22:54 ` drepper.fsp at gmail dot com
@ 2012-08-26  7:54 ` glisse at gcc dot gnu.org
  2012-08-26  9:46 ` paolo.carlini at oracle dot com
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: glisse at gcc dot gnu.org @ 2012-08-26  7:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #11 from Marc Glisse <glisse at gcc dot gnu.org> 2012-08-26 07:54:41 UTC ---
Created attachment 28087
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28087
Alternate solution

What about this (completely untested) other solution? (reindentation is needed
after the patch, but too many white space changes make patches hard to read).

Then the only special case is normal_distribution, which befriends operator==
for all template parameters, not just its own (not that it can cause any
issue). Being friend only with your own operator== is complicated when you put
its definition outside the class, so I guess it makes sense to leave it that
way.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (10 preceding siblings ...)
  2012-08-26  7:54 ` [Bug libstdc++/54376] " glisse at gcc dot gnu.org
@ 2012-08-26  9:46 ` paolo.carlini at oracle dot com
  2012-08-26 12:59 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-26  9:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-26 09:46:14 UTC ---
Thanks. I say, lets go with Marc's solution, both mainline and branch. Marc,
can you test it?


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (11 preceding siblings ...)
  2012-08-26  9:46 ` paolo.carlini at oracle dot com
@ 2012-08-26 12:59 ` paolo.carlini at oracle dot com
  2012-08-26 14:04 ` paolo.carlini at oracle dot com
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-26 12:59 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|jason at gcc dot gnu.org    |
         AssignedTo|unassigned at gcc dot       |paolo.carlini at oracle dot
                   |gnu.org                     |com

--- Comment #13 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-26 12:59:29 UTC ---
Let me handle the library bits and let's move forward.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (12 preceding siblings ...)
  2012-08-26 12:59 ` paolo.carlini at oracle dot com
@ 2012-08-26 14:04 ` paolo.carlini at oracle dot com
  2012-08-26 17:23 ` paolo at gcc dot gnu.org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-26 14:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.7.2


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (13 preceding siblings ...)
  2012-08-26 14:04 ` paolo.carlini at oracle dot com
@ 2012-08-26 17:23 ` paolo at gcc dot gnu.org
  2012-08-27 18:14 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-08-26 17:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #14 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-08-26 17:22:50 UTC ---
Author: paolo
Date: Sun Aug 26 17:22:43 2012
New Revision: 190694

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190694
Log:
2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
        Paolo Carlini  <paolo.carlini@oracle.com>

    PR libstdc++/54376
    * include/bits/random.h (lognormal_distribution<>::operator==,
    gamma_distribution<>::operator==,
    chi_squared_distribution<>::operator==,
    fisher_f_distribution<>::operator==,
    student_t_distribution<>::operator==,
    binomial_distribution<>::operator==,
    negative_binomial_distribution<>::operator==,
    poisson_distribution<>::operator==): Change inline friend definition
    to non-template.
    * testsuite/26_numerics/random/binomial_distribution/requirements/
    explicit_instantiation/1.cc: New.
    * testsuite/26_numerics/random/cauchy_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/chi_squared_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/discrete_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/exponential_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/extreme_value_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/fisher_f_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/gamma_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/geometric_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/lognormal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/negative_binomial_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/normal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_constant_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_linear_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/poisson_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/student_t_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_int_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_real_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/weibull_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.

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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (14 preceding siblings ...)
  2012-08-26 17:23 ` paolo at gcc dot gnu.org
@ 2012-08-27 18:14 ` jason at gcc dot gnu.org
  2012-08-27 20:40 ` paolo.carlini at oracle dot com
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jason at gcc dot gnu.org @ 2012-08-27 18:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #15 from Jason Merrill <jason at gcc dot gnu.org> 2012-08-27 18:13:46 UTC ---
Indeed, the code is in error.  You can't have multiple instantiations of a
class template that define the same friend signature, as the definition might
depend on the class template parameters.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (15 preceding siblings ...)
  2012-08-27 18:14 ` jason at gcc dot gnu.org
@ 2012-08-27 20:40 ` paolo.carlini at oracle dot com
  2012-09-06  9:27 ` paolo at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-08-27 20:40 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #16 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-27 20:40:39 UTC ---
Thanks. I will make sure to apply the library changes to the branch too.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (16 preceding siblings ...)
  2012-08-27 20:40 ` paolo.carlini at oracle dot com
@ 2012-09-06  9:27 ` paolo at gcc dot gnu.org
  2012-09-06  9:28 ` paolo.carlini at oracle dot com
  2012-09-06  9:29 ` paolo at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-09-06  9:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

--- Comment #17 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-09-06 09:27:20 UTC ---
Author: paolo
Date: Thu Sep  6 09:27:10 2012
New Revision: 191016

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191016
Log:
2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
        Paolo Carlini  <paolo.carlini@oracle.com>

    PR libstdc++/54376
    * include/bits/random.h (lognormal_distribution<>::operator==,
    gamma_distribution<>::operator==,
    chi_squared_distribution<>::operator==,
    fisher_f_distribution<>::operator==,
    student_t_distribution<>::operator==,
    binomial_distribution<>::operator==,
    negative_binomial_distribution<>::operator==,
    poisson_distribution<>::operator==): Change inline friend definition
    to non-template.
    * testsuite/26_numerics/random/binomial_distribution/requirements/
    explicit_instantiation/1.cc: New.
    * testsuite/26_numerics/random/cauchy_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/chi_squared_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/discrete_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/exponential_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/extreme_value_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/fisher_f_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/gamma_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/geometric_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/lognormal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/negative_binomial_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/normal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_constant_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_linear_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/poisson_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/student_t_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_int_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_real_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/weibull_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.

Added:
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc
Modified:
    branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_7-branch/libstdc++-v3/include/bits/random.h


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (17 preceding siblings ...)
  2012-09-06  9:27 ` paolo at gcc dot gnu.org
@ 2012-09-06  9:28 ` paolo.carlini at oracle dot com
  2012-09-06  9:29 ` paolo at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-09-06  9:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
      Known to fail|4.7.2, 4.8.0                |

--- Comment #17 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-09-06 09:27:20 UTC ---
Author: paolo
Date: Thu Sep  6 09:27:10 2012
New Revision: 191016

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191016
Log:
2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
        Paolo Carlini  <paolo.carlini@oracle.com>

    PR libstdc++/54376
    * include/bits/random.h (lognormal_distribution<>::operator==,
    gamma_distribution<>::operator==,
    chi_squared_distribution<>::operator==,
    fisher_f_distribution<>::operator==,
    student_t_distribution<>::operator==,
    binomial_distribution<>::operator==,
    negative_binomial_distribution<>::operator==,
    poisson_distribution<>::operator==): Change inline friend definition
    to non-template.
    * testsuite/26_numerics/random/binomial_distribution/requirements/
    explicit_instantiation/1.cc: New.
    * testsuite/26_numerics/random/cauchy_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/chi_squared_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/discrete_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/exponential_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/extreme_value_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/fisher_f_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/gamma_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/geometric_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/lognormal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/negative_binomial_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/normal_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_constant_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/piecewise_linear_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/poisson_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/student_t_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_int_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/uniform_real_distribution/
    requirements/explicit_instantiation/1.cc: Likewise.
    * testsuite/26_numerics/random/weibull_distribution/requirements/
    explicit_instantiation/1.cc: Likewise.

Added:
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/binomial_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/cauchy_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/chi_squared_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/discrete_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/exponential_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/extreme_value_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/fisher_f_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/gamma_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/geometric_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/lognormal_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/negative_binomial_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/normal_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_constant_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/piecewise_linear_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/poisson_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/student_t_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_int_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/uniform_real_distribution/requirements/explicit_instantiation/1.cc
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/26_numerics/random/weibull_distribution/requirements/explicit_instantiation/1.cc
Modified:
    branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_7-branch/libstdc++-v3/include/bits/random.h

--- Comment #18 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-09-06 09:28:28 UTC ---
Done.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/54376] incorrect complaint about redefinition
  2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
                   ` (18 preceding siblings ...)
  2012-09-06  9:28 ` paolo.carlini at oracle dot com
@ 2012-09-06  9:29 ` paolo at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-09-06  9:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54376

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
      Known to fail|4.7.2, 4.8.0                |

--- Comment #18 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-09-06 09:28:28 UTC ---
Done.


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2012-09-06  9:29 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-25 19:02 [Bug c++/54376] New: incorrect complaint about redefinition drepper.fsp at gmail dot com
2012-08-25 19:45 ` [Bug c++/54376] " redi at gcc dot gnu.org
2012-08-25 19:50 ` redi at gcc dot gnu.org
2012-08-25 20:05 ` paolo.carlini at oracle dot com
2012-08-25 20:18 ` redi at gcc dot gnu.org
2012-08-25 20:25 ` paolo.carlini at oracle dot com
2012-08-25 20:31 ` daniel.kruegler at googlemail dot com
2012-08-25 20:34 ` redi at gcc dot gnu.org
2012-08-25 20:39 ` paolo.carlini at oracle dot com
2012-08-25 21:04 ` glisse at gcc dot gnu.org
2012-08-25 22:54 ` drepper.fsp at gmail dot com
2012-08-26  7:54 ` [Bug libstdc++/54376] " glisse at gcc dot gnu.org
2012-08-26  9:46 ` paolo.carlini at oracle dot com
2012-08-26 12:59 ` paolo.carlini at oracle dot com
2012-08-26 14:04 ` paolo.carlini at oracle dot com
2012-08-26 17:23 ` paolo at gcc dot gnu.org
2012-08-27 18:14 ` jason at gcc dot gnu.org
2012-08-27 20:40 ` paolo.carlini at oracle dot com
2012-09-06  9:27 ` paolo at gcc dot gnu.org
2012-09-06  9:28 ` paolo.carlini at oracle dot com
2012-09-06  9:29 ` paolo at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).