[PATCH] Addresses TemplateParameterDepth calculation of Local Member templates
Faisal Vali
faisalv at gmail.com
Sun Apr 28 21:31:28 PDT 2013
Here is a patch for calculating the TemplateParameterDepth correctly, built
upon Will Wilson's patch (and includes his code - i hope that's ok to do?).
Please let me know what you think - or if you need me to submit it a
different way ....
Thanks!
Faisal Vali
On Sat, Apr 27, 2013 at 7:46 PM, Faisal Vali <faisalv at gmail.com> wrote:
>
>
> On Sat, Apr 27, 2013 at 5:52 PM, Richard Smith <richard at metafoo.co.uk>wrote:
>
>> + assert( Actions.getDiagnostics().hasErrorOccurred() ||
>> + (!dyn_cast<FunctionTemplateDecl>(LM.D) ||
>> +
>> (dyn_cast<FunctionTemplateDecl>(LM.D)->getTemplateParameters()->
>> + getDepth() < TemplateParameterDepth)) &&
>> "TemplateParameterDepth"
>> + " should be greater than the depth of current template
>> being"
>> + " instantiated!");
>>
>> No space after (, extra space on the next line, and this will generate a
>> || versus && precedence warning. Also, would be more consistent to reflow
>> the string literal to start on its own line.
>>
>> + // getNumTemplateParameterLists returns the number of TPLs
>> + // minus the TPL of the actual function being instantiated
>> + // i.e. consider a nested member class template with
>> + // a template member of a function defined out of class ... its
>> + // associated TPLs
>> + // Therefore we add 1 to the depth for the Declarator itself
>> + // and the rest for the outer TPLs returned by getNumTPLs
>>
>> Something seems to be missing from the first part of this comment. In any
>> case, IIRC there's a patch in flight which removes this code and makes it
>> call ActOnReenterTemplateScope the right number of times.
>>
>>
> ok - I shall wait for you to commit that patch, then update my code
> against trunk - and then incorporate all your comments and resubmit this
> patch.
>
> Any thoughts on the dependent bases patch for ms-compatibility?
>
> Also can I start emailing you some interim patches for generic-lambdas,
> even though they are not entirely functional - but I could use feedback on
> the approach and the API's used early on before I go down the wrong rabbit
> hole?
>
> thanks!
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130428/dbec5b49/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: for-review-tempalte-depth-fix-with-wilson's-patch.patch
Type: application/octet-stream
Size: 17464 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130428/dbec5b49/attachment.obj>
More information about the cfe-commits
mailing list