Review Request 111796: Fix endless recursion in setSpecializedFrom

Commit Hook null at kde.org
Wed Jul 31 22:29:18 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111796/
-----------------------------------------------------------

(Updated July 31, 2013, 10:29 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDevelop.


Description
-------

Fix endless recursion in setSpecializedFrom

This could be triggered by having the exactly same specialization occur
twice in a single file. setSpecializedFrom would end up calling itself
with the same TemplateDeclaration over and over again.

Adding another recursion counter in the same way that other places already
have one fixes the problem. Unfortunately I wasn't able to generate a test
that exhibits the recursion problem.

BUG: 318492

Avoid endless recursions in TemplateDeclaration::setSpecializedFrom

Having two template specializations with the same signature causes an
endless recursion here. I don't see a reason why a TemplateDeclaration
should update its 'specializedFrom' stuff if that already is up-to-date.
So in the case the other->specializedFrom.data() is already what this
declaration has, there's simply nothing to do.


This addresses bug 318492.
    http://bugs.kde.org/show_bug.cgi?id=318492


Diffs
-----

  languages/cpp/cppduchain/templatedeclaration.cpp b35ba13a0eacb5157a921cf96fdc22c091f625e1 

Diff: http://git.reviewboard.kde.org/r/111796/diff/


Testing
-------


Thanks,

Andreas Pakulat

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130731/f86ef84a/attachment.html>


More information about the KDevelop-devel mailing list