From: Douglas Gregor Date: Thu, 21 Jul 2005 15:14:59 +0000 (+0000) Subject: re PR c++/2922 ([DR 197] two-stage lookup for unqualified function calls with type... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5b8ce8f102ac8717eada20fb7f1f9fd2be091258;p=gcc.git re PR c++/2922 ([DR 197] two-stage lookup for unqualified function calls with type-dependent arguments) 2005-07-21 Douglas Gregor PR c++/2922 * g++.dg/lookup/two-stage5.C: New test from bug comments. From-SVN: r102236 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e7fb312a08b..c390032ef66 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-07-21 Douglas Gregor + + PR c++/2922 + * g++.dg/lookup/two-stage5.C: New test from bug comments. + 2005-07-21 Volker Reichelt PR c++/15938 diff --git a/gcc/testsuite/g++.dg/lookup/two-stage5.C b/gcc/testsuite/g++.dg/lookup/two-stage5.C new file mode 100644 index 00000000000..bfc405b9980 --- /dev/null +++ b/gcc/testsuite/g++.dg/lookup/two-stage5.C @@ -0,0 +1,19 @@ +// { dg-do run } +extern "C" void abort (); + +namespace N { +template T foo (T) { return T (); } +template T bar (T t) { return foo (t); } +} + +struct S { S (int i = 0): i_ (i) { } int i_; }; + +namespace N { +/* template <> */ S foo (S) { return S (1); } +} + +int main () +{ + if (1 == N::bar (S()).i_) + abort (); +}