-
Notifications
You must be signed in to change notification settings - Fork 49
Failure in algorithm.py with c++11 #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Not yet. I hope to get around this soon. |
Here is a minimal example that fails on Ubuntu 15.10, gcc 5.2.1, castxml version 0.1-gf1bb3c2, pygccxml 1.7.4, and pyplusplus 1.6.0. Save the attached files and run |
The same example also fails on OS X 10.11.5, gcc 6.1.0, castxml 0.1-g8c32543, pygccxml 1.7.4, and pyplusplus 1.6.0 with the same error. |
Calling create_decl_string on the _M_clone_node calldef is failing with gcc > 4.9 and -std=c++11 This test should is currently failing, it is only there to have a way to demonstrate the error and to fix it.
Hi I had some time to look at this. I could write a test to reproduce the bug, which I pushed to the hotfix/v1.7.6 branch. The travis build for this branch is not failing because it does not test against gcc (this is only done on the develop branch). But I can reproduce the bug locally. The problem lies in the Other methods, like for example
I will now investigate how and when the |
Thanks for looking into this. This seems like a painful bug to fix. |
…ing (#55) When passing an object without name to a templated function, pygcxxml was failing when building the declaration string of the function. This is now fixed by displaying no name in the generated declaration string.
This should work now. The bug was that you can pass a struct or class instance without name to a method, and when building the declaration string this was failing. I added a new test for this. It took me a long time to reproduce. The code in stl_tree.h is hard to follow (this is were Please test this. If it's ok I'll release the 1.7.6 version after this. |
This works! Python binding generation is taking forever, though. On my Ubuntu 15.10 VM it took more than 12 hours to generate the bindings. That's more than an order of magnitude slower than the gccxml-based workflow in the pre-C++11 version of the code. Clang + castxml is somewhere in between in terms of generation time. Nevertheless, the bug is fixed. Thanks! |
Great ! I'll make the 1.7.6 release with this fix during the weekend. I will definitively have a look at the performance problem for v 1.8.0. I had already a look but was not able to solve it. I have maybe an idea how to solve this but this needs some work. |
Initially reported here: #47 (comment)
(There are also two xml files in the comment that may be interesting).
Happens with gcc4.9 and gcc5. @mamoll do you have a minimal c++ code example to help setup a test for this ?
The text was updated successfully, but these errors were encountered: