Review Request 111796: Fix endless recursion in setSpecializedFrom
Andreas Pakulat
apaku at gmx.de
Wed Jul 31 11:16:46 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111796/
-----------------------------------------------------------
(Updated July 31, 2013, 11:16 a.m.)
Review request for KDevelop.
Changes
-------
Used the ThreadLocalData along with PushValue as done in other places in the same file. Also increased the depth and provide a meaningful error message.
Still no test unfortunately.
Summary (updated)
-----------------
Fix endless recursion in setSpecializedFrom
Description (updated)
-------
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 (updated)
-----
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/2efabea6/attachment.html>
More information about the KDevelop-devel
mailing list