[PATCH] [Sema] Re-land "Make FunctionType's TSI use unadjusted argument types"

Reid Kleckner rnk at google.com
Wed Jun 12 06:15:11 PDT 2013


On Tue, Jun 11, 2013 at 6:24 PM, Eli Friedman <eli.friedman at gmail.com>wrote:

> On Tue, Jun 11, 2013 at 3:09 PM, Reid Kleckner <rnk at google.com> wrote:
>
>> For a Type held by an AST node, I completely agree, and I'll try to
>> address that.  For a type held by a TypeSourceInfo, I disagree, the
>> FunctionProtoType should really hold the undecayed parameter types.
>>
>
> Hmm... I was thinking more along the lines of keeping around the
> un-decayed type, but automatically decaying it for the user of the API
> unless they explicitly request the un-decayed version.  I'm not sure I like
> keeping different versions of the type in the AST nodes vs. TypeSourceInfo.
>

Maybe, but it seems pretty heavyweight to add a custom iterator to do the
decay.  Right now the iterator is just an ArrayRef.  Every dynamic decay
will trigger a uniquing in the ASTContext, unless we put some kind of cache
into ArrayType or FunctionType similar to how CanonicalType works.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130612/7a86d08c/attachment.html>


More information about the cfe-commits mailing list