-
Notifications
You must be signed in to change notification settings - Fork 660
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
Make using C++11 mandatory. See #314 #317
Conversation
Eurgh. Looks like we can't build against LLVM 2.9 with C++11 enabled :( Is there any good reason to keep supporting LLVM 2.9 at this point? If you "really need LLVM 2.9 support" you can always checkout older revisions. But I really think we should drop LLVM 2.9 |
I'm in favor as well to drop LLVM 2.9 support #318 |
I'm happy to do this at some point, but given that we only switched the officially supported version of LLVM from 2.9 to 3.4 last month, it might be a bit early to retire 2.9 completely. Some people might be using it. I can send a message to the mailing list. |
|
I agree with your points, but I think you speak primarily from the perspective of maintaining KLEE. While I think support for 3.4 is quite mature now, there is still missing support for various intrinsics (we have several open issues I believe) which don't cause issues under 2.9. We have actually been primarily using 2.9 in our research group because we've run into fewer problems, although I think after the recent changes, we should consider a full switch to 3.4. But it's hard to say. One problem that we have is that our regression tests are really weak. We should really invest some time into setting some tests involving real applications -- for example, simply ensuring that we can use KLEE in interpreter mode would allow us to be more confident about switching to newer LLVMs. |
Yes that is the perspective I am taking.
Those forks of KLEE (for research) forked from the Although sticking with LLVM 2.9 is pragmatic in the short term (for research purposes), doing so is damaging to the project in the long term because the issues with newer LLVM versions don't get fixed by those using KLEE the most.
Sure. That's something we should definitely do but that is orthogonal to switching to C++11. |
I'm not sure why you say it's orthogonal to switching to C++11, as this switch directly implies dropping support for 2.9, which is what we are discussing. If I knew that all the code that runs under 2.9 still runs under 3.4, I would be happy to do the switch now. Otherwise, we should do the switch, but given that we started recommending 3.4 only last month, I think we should wait a few months to see what kind of issues people report, if any. |
It is orthogonal in the sense that switching to C++11 will not make KLEE's ability (assuming LLVM 3.4) to interpret real applications any worse or better. Having this testing (although it would be great to have) is not a prerequisite to building as C++11 instead of C++03. |
I have to agree with @ccadar, currently, we can't be sure that the version of LLVM 3.4 is as good as the version provided with LLVM 2.9. |
Superseded by #652 |
I will wait for the tests to run. If all pass I will merge this.