aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/generated
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2025-06-06 10:26:28 -0400
committerJason Merrill <jason@redhat.com>2025-06-06 15:43:47 -0400
commit8d204f2a536f7253e4251aca7bc12af524800b4c (patch)
treed424f7d0875c17bbc8467fe7ba8113206cce60f9 /libgfortran/generated
parent37fe7e7069c2bb999c95a9807a8f895f38b9cacf (diff)
downloadgcc-8d204f2a536f7253e4251aca7bc12af524800b4c.zip
gcc-8d204f2a536f7253e4251aca7bc12af524800b4c.tar.gz
gcc-8d204f2a536f7253e4251aca7bc12af524800b4c.tar.bz2
c++: recursive template with deduced return [PR120555]
Here since r15-4120 we were prematurely complaining about the use of func within its own definiton, which is fine at instantiation time. So don't require this for function templates that are currently being defined. But keep the error for instantiations of templates that are not currently being defined, which we similarly did not diagnose before r15-4120 but other implementations do. Both of these follow the general principle from [temp.res.general]/6 that we only error in a template body if no instatiation could be well-formed. Also remove a redundant call to require_deduced_type. PR c++/120555 gcc/cp/ChangeLog: * decl2.cc (fn_being_defined, fn_template_being_defined): New. (mark_used): Check fn_template_being_defined. gcc/testsuite/ChangeLog: * g++.dg/cpp1z/constexpr-if39.C: New test.
Diffstat (limited to 'libgfortran/generated')
0 files changed, 0 insertions, 0 deletions