diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/koenig5.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/koenig5.C | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/koenig5.C b/gcc/testsuite/g++.dg/template/koenig5.C new file mode 100644 index 000000000..d54bb7543 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/koenig5.C @@ -0,0 +1,32 @@ +// { dg-do compile } +// Contributed by David Abrahams <dave at boost-consulting dot com> +// PR c++/14143: Koenig lookup should only look into template arguments only +// if the argument is a template-id. + +namespace fu +{ + template <class T> + struct bar + { + struct baz {}; + }; +} + +namespace axe +{ + struct handle {}; + + template <class T> + char* f(T&); +} + +namespace test +{ + template <class T> + int f(T const&); + + template <class T> + int g(T x) { return f(x); } + + int x = g(fu::bar<axe::handle>::baz()); +} |