From: Nathaniel Shead Date: Thu, 13 Nov 2025 22:11:25 +0000 (+1100) Subject: c++/modules: Add testcase for lookup of hidden friend [PR122646] X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9ab4d759125b0c7f040c6709d26175d89823ee02;p=thirdparty%2Fgcc.git c++/modules: Add testcase for lookup of hidden friend [PR122646] r16-5173-g52a24bcec9388a fixed this testcase, but I think it's worthwhile still adding this reduced test for it to the modules.exp set of tests so we don't need to rely on libstdc++ tests for it yet. PR c++/122646 gcc/testsuite/ChangeLog: * g++.dg/modules/friend-10_a.C: New test. * g++.dg/modules/friend-10_b.C: New test. Signed-off-by: Nathaniel Shead --- diff --git a/gcc/testsuite/g++.dg/modules/friend-10_a.C b/gcc/testsuite/g++.dg/modules/friend-10_a.C new file mode 100644 index 00000000000..6669fffb9ea --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/friend-10_a.C @@ -0,0 +1,21 @@ +// PR c++/122646 +// { dg-additional-options "-fmodules -fconcepts" } +// { dg-module-cmi M } + +export module M; + +template +struct zip_view_iterator { + void operator-(int) {} + friend void operator-(zip_view_iterator, zip_view_iterator) + requires requires(T x) { x.begin() - x.begin(); } + {} +}; + +struct ref_view { + ref_view begin(); +}; + +export template void foo() { + zip_view_iterator{} - X(); +} diff --git a/gcc/testsuite/g++.dg/modules/friend-10_b.C b/gcc/testsuite/g++.dg/modules/friend-10_b.C new file mode 100644 index 00000000000..ea261aa4939 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/friend-10_b.C @@ -0,0 +1,5 @@ +// PR c++/122646 +// { dg-additional-options "-fmodules -fconcepts" } + +import M; +template void foo();