From 1fe62960d35e6cdf262a0417d2d81e2cad5e025f Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 10 Jul 2013 17:45:43 +0000 Subject: [PATCH] re PR c++/57874 (No SFINAE on ADL lookup failure) 2013-07-10 Paolo Carlini PR c++/57874 * g++.dg/cpp0x/sfinae48.C: New. From-SVN: r200880 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/sfinae48.C | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/sfinae48.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cbe3ae02b1b..7191eb507dd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-07-10 Paolo Carlini + + PR c++/57874 + * g++.dg/cpp0x/sfinae48.C: New. + 2013-07-10 Jakub Jelinek PR preprocessor/57824 diff --git a/gcc/testsuite/g++.dg/cpp0x/sfinae48.C b/gcc/testsuite/g++.dg/cpp0x/sfinae48.C new file mode 100644 index 00000000000..ba728d9de8f --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/sfinae48.C @@ -0,0 +1,21 @@ +// PR c++/57874 +// { dg-do compile { target c++11 } } + +namespace NX +{ + struct X {}; + void foo(X) {} +} + +namespace NY +{ + struct Y {}; +} + +template +auto ADLfoo(T&&) -> decltype((foo(T{}), short())); + +char ADLfoo(...); + +static_assert(sizeof(ADLfoo(NY::Y{})) == 1, ""); +static_assert(sizeof(ADLfoo(NX::X{})) == 2, ""); -- 2.30.2