-
Notifications
You must be signed in to change notification settings - Fork 35
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
C++11? #73
Comments
Mainly ABI compatibility, compiler quality and compatibility with old platforms. For Ubuntu 12.04 in particular the features may be here but I am really not sure if it is reasonable to use them or not due to potential bugs. Personally, I installed gcc 4.8 from a PPA since I started using C++11. However I do know how painful it is not to use C++11 so one possibility is to add optional C++11 features (compiled if enabled). Another possibility is to switch anyway. I am not against it but it is better to confirm with people at LAAS whether or not it is acceptable for them. |
I just found a nice summary of C++11 features and minimum GCC versions: https://gcc.gnu.org/projects/cxx0x.html I guess the only question is: what is the lowest version of GCC we're supposed to support? The one in 12.04? And then check if the features we could use are well supported with that version (we could even list the features somewhere). |
I don't think there is a good answer to this question. As long as GCC default behavior is not C++11 in a relatively reasonable proportion of Linux distributions, it won't be a "free move". I.e. users will come and complain because it will break their setup. So again, I am not against it but my advice is: if we want to make it, let's make it optional first. For me, optional features could be:
|
Some other useful features that we could use:
As for the increased cost of development, this can be done incrementally from the moment we make the move (unless there's some very good reason to move as much as possible right away), i.e. new features/fixes can use C++11 features if it is relevant. Also, I would need to check if the CUDA compiler/parser doesn't explode with the C++11 features we would choose, since C++11 support is experimental and undocumented, and |
We are currently working on some really nice features that would be painful to implement without C++11 (variadic templates saving the day), so this discussion may be revived soon. |
We kept the old API for backwards compatibility (for now...).
cc @thomas-moulard
C++14 is out, and the urge to use C++11 features is getting strong. What is currently stopping us from moving to C++11? Ubuntu 12.04's GCC? Most features seem to be available with GCC 4.6, and that may be all we need at first.
The text was updated successfully, but these errors were encountered: