diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/lookup/two-stage5.C')
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/two-stage5.C | 19 |
1 files changed, 19 insertions, 0 deletions
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 000000000..bfc405b99 --- /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 <class T> T foo (T) { return T (); } +template <class T> 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 (); +} |