This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ RFC / Patch] PR 54080, PR 52875 and more (aka SFINAE vs template recursion depth)
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Jason Merrill <jason at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 09 Aug 2013 09:28:15 +0200
- Subject: Re: [C++ RFC / Patch] PR 54080, PR 52875 and more (aka SFINAE vs template recursion depth)
- References: <5203F75A dot 9080206 at oracle dot com> <52042C5C dot 7060702 at redhat dot com> <6414e1ec-56b5-42f7-821d-69f4e9325a15 at email dot android dot com> <520496A8 dot 1040607 at redhat dot com>
Hi,
Florian Weimer <fweimer@redhat.com> ha scritto:
>On 08/09/2013 08:43 AM, Paolo Carlini wrote:
>
>>> Yes, that is intended. Changing that could mean that the meaning of
>>> code depends on what max depth the user selected.
>>
>> Indeed. Yesterday I wondered what would happen if the front-end had a
>way to detect, in some very specific and special cases only of course,
>really infinite recursions, in the sense that no increase in the depth
>would "cure" them. Would it be ok in that case to sfinae away?
>
>Eh, hopefully not. Otherwise, program behavior would depend on how
>well
>the compiler solves the halting problem.
I see. You know, I was trying to figure out the logic other compilers - two of them, actually - are following, because the really appear to sfinae away infinite recursions. Was trying to imagine cases in which it would be safe.
Paolo