Review Request 124712: Set maximum number of recursive calls for getMemberFunctions.

Zhang HuiJie yitianbuji at gmail.com
Thu Aug 13 00:54:03 UTC 2015



> On 八月 12, 2015, 10:33 p.m., Kevin Funk wrote:
> > If that fixes the bug for you, cool! Unit tests would be nice, too, if you have the code snippet causing this.

Yesterday, I try to find out why it cause oldcpp get into this endless loop by writing a code snippet,  but it is hard to extract a code snippet from OpenFOAM(https://github.com/OpenFoam/OpenFOAM-2.3.x). What i got  is that  "OpenFOAM-2.3.x/src/OpenFOAM/meshes/pointMesh/pointMesh.H" and "OpenFOAM-2.3.x/src/OpenFOAM/meshes/MeshObject/MeshObject.H" causing this while oldcpp visiting them.
The loop is :
pointMesh find that one base class of itself is MeshObject<polyMesh, UpdateableMeshObject, pointMesh>,
and then MeshObject<polyMesh, UpdateableMeshObject, pointMesh> got that pointMesh is his base class(this is not correct, but i dont't know why).
so oldcpp get into this endless loop.
Cause finding out why is very difficult for me, and I do not think that only I encountered this problem in these codes(OpenFOAM), just set a maximum and exit if it is exceeded may be the best solution for the current.
Thus, i do not find a small code snippet for this.


- Zhang


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124712/#review83741
-----------------------------------------------------------


On 八月 13, 2015, 8:12 a.m., Zhang HuiJie wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124712/
> -----------------------------------------------------------
> 
> (Updated 八月 13, 2015, 8:12 a.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Bugs: 351188
>     http://bugs.kde.org/show_bug.cgi?id=351188
> 
> 
> Repository: kdevelop
> 
> 
> Description
> -------
> 
> In some special case of curiously recurring template pattern(https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern) for my codes(OpenFOAM-2.3.x), the oldcpp will get into an endless loop and breakdown finally.
> 
> 
> Diffs
> -----
> 
>   languages/cpp/cppduchain/typeutils.h bab23f5 
>   languages/cpp/cppduchain/typeutils.cpp 4950981 
> 
> Diff: https://git.reviewboard.kde.org/r/124712/diff/
> 
> 
> Testing
> -------
> 
> I reported this bug(https://bugs.kde.org/show_bug.cgi?id=351188), but the report was not enough. After a few hours of hacking, kdevelop can work well for my codes. what's more, it seems that kdevelop run faster then before.
> 
> 
> Thanks,
> 
> Zhang HuiJie
> 
>

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


More information about the KDevelop-devel mailing list