From: Marek Polacek Date: Fri, 13 May 2022 23:45:03 +0000 (-0400) Subject: c++: Add fixed test [PR81952] X-Git-Tag: basepoints/gcc-14~6747 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62ecd2b8d46aaf96caef5fa78953216629e49ebd;p=thirdparty%2Fgcc.git c++: Add fixed test [PR81952] This was fixed by r258755: PR c++/81311 - wrong C++17 overload resolution. PR c++/81952 gcc/testsuite/ChangeLog: * g++.dg/overload/conv-op4.C: New test. --- diff --git a/gcc/testsuite/g++.dg/overload/conv-op4.C b/gcc/testsuite/g++.dg/overload/conv-op4.C new file mode 100644 index 000000000000..80de19549e30 --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/conv-op4.C @@ -0,0 +1,22 @@ +// PR c++/81952 +// { dg-do run { target c++11 } } + +template +struct opt { + opt() { } + opt(opt const& ) { __builtin_abort (); } + opt(opt&& ) { __builtin_abort (); } + + template + opt(U&& ) { } +}; + +struct foo +{ + explicit operator opt() { __builtin_abort (); return {}; } +}; + +int main() +{ + opt o(foo{}); +}