Skip to content
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

Consider updating minimum compiler versions to allow usage of C++14 features #167

Closed
sethfowler opened this issue Dec 7, 2016 · 2 comments
Labels
question This is a topic requesting clarification.

Comments

@sethfowler
Copy link
Contributor

C++14 adds a number of features that make it easier to write code that's clean, maintainable, and bug-free. The only problem: our current minimum GCC version is 4.8, which doesn't support most C++14 features.

GCC 5 and Clang 3.4 have complete support for C++14. On the GCC side, a majority of features are supported in GCC 4.9, though it seems to me that if we're bumping our supported compiler versions we may as well move to at least GCC 5. (Partly for ABI reasons; see below.)

I'd like to update the minimum compiler versions in the documentation if that won't cause issues for p4c developers or users.

@ChrisDodd, @ndramesh, @rsunkad: are you aware of any problems with making this change?

I suspect the most significant concern would be ABI incompatibilities; users may have issues if they need the ability to build an updated p4c binary and drop it into a system with an older libstdc++, since the libstdc++ ABI can and does change between versions. There are unfortunately some small ABI incompatibilities between the libstdc++ version associated with GCC 4.8 and the one associated with GCC 4.9, which is partly what motivates me to say that we may as well bump GCC to at least 5.

@mihaibudiu mihaibudiu added the question This is a topic requesting clarification. label Apr 7, 2017
@mihaibudiu
Copy link
Contributor

I think we should postpone this one. We risk losing users if we are too strict.

@sethfowler
Copy link
Contributor Author

Actually I should've closed this a while ago. We decided to stick to C++11 only for now. Thanks for bringing it to my attention, Mihai.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question This is a topic requesting clarification.
Projects
None yet
Development

No branches or pull requests

2 participants