OK.
On Thu, Apr 27, 2017 at 2:02 PM, Paolo Carlini <paolo.carl...@oracle.com> wrote: > Hi again, > > On 26/04/2017 12:32, Paolo Carlini wrote: >> >> Hi, >> >> in 2013 (2013-09-16) Adam added two slightly obscure functions and I can't >> find much around in terms of rationale, etc: >> >> /* Returns true iff TYPE is a TEMPLATE_TYPE_PARM representing 'auto', >> 'decltype(auto)' or a concept. */ >> >> bool >> is_auto_or_concept (const_tree type) >> { >> return is_auto (type); // or concept >> } >> >> /* Returns the TEMPLATE_TYPE_PARM in TYPE representing a generic type >> (`auto' or >> a concept identifier) iff TYPE contains a use of a generic type. >> Returns >> NULL_TREE otherwise. */ >> >> tree >> type_uses_auto_or_concept (tree type) >> { >> return find_type_usage (type, is_auto_or_concept); >> } >> >> The latter seems completely unused (it's meant for debugging purposes?); >> the former evidently simply forwards to is_auto, and we end up in the >> front-end with uses of both, which in fact are equivalent, which seems >> weird: IMHO, if they are actually equivalent in our implementation we should >> clearly explain that in the comment and have only one. Or what? > > > ... replying to myself, in practice we could do the below, which certainly > passes testing, and in fact now seems to me even more obvious than I thought > a couple of days ago... > > Thanks, > Paolo. > > /////////////////////