From: Paolo Carlini Date: Wed, 10 Jul 2013 17:45:43 +0000 (+0000) Subject: re PR c++/57874 (No SFINAE on ADL lookup failure) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1fe62960d35e6cdf262a0417d2d81e2cad5e025f;p=gcc.git 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 --- 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, "");