re PR c++/12370 (wrong code when adding friend)

PR c++/12370
	* g++.dg/other/friend2.C: New test.
	* ChangeLog: Add PR number to patch for PR c++/12370.

From-SVN: r72446
This commit is contained in:
Volker Reichelt 2003-10-13 23:06:37 +00:00
parent b71d486c40
commit 88e451e1e7
3 changed files with 33 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2003-10-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* ChangeLog: Add PR number to patch for PR c++/12370.
2003-10-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
Break out decl.c (2/n)
@ -171,6 +175,7 @@
2003-09-30 Richard Henderson <rth@redhat.com>
PR c++/12370
* decl.c (duplicate_decls): Copy DECL_SAVED_INSNS too.
2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>

View File

@ -1,3 +1,8 @@
2003-10-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/12370
* g++.dg/other/friend2.C: New test.
2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
* gcc.dg/20031012-1.c: New test.

View File

@ -0,0 +1,23 @@
// { dg-do run }
// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
// PR c++/12370
// Wrong code because of the friend declaration
template <typename T> struct A
{
T x;
A(T t) : x(t) {}
friend A<int> foo (const A<unsigned>&);
};
A<int> foo (const A<unsigned>& a)
{
A<int> res(a.x);
return res;
}
int main()
{
return foo(A<unsigned>(0)).x;
}