On 9/26/19 9:08 AM, Richard Biener wrote: > Note the main issue is host compiler support. I'm not sure if C++11 would > be the step we'd gain most - for some hashtable issues I'd have needed > std::move support for example. There's always the possibility to > require an intermediate step (first build GCC 5, with that you can build > trunk, etc.), a install.texi clarification could be useful here (or even > some automation via a contrib/ script). > > I'm not too worried about requiring even a C++14 compiler, for the > set of products we still release latest compilers we have newer > GCCs available we can use for building them (even if those are > not our primary supported compilers which would limit us to > GCC 4.8).
FWIW, GDB requires C++11 nowadays, and the baseline required GCC version is GCC 4.8.1. The current policy is here: https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#When_is_GDB_going_to_start_requiring_C.2B-.2B-NN_.3F Pasted for convenience: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When is GDB going to start requiring C++NN ? Our general policy is to wait until the oldest compiler that supports C++NN is at least 3 years old. Rationale: We want to ensure reasonably widespread compiler availability, to lower barrier of entry to GDB contributions, and to make it easy for users to easily build new GDB on currently supported stable distributions themselves. 3 years should be sufficient for latest stable releases of distributions to include a compiler for the standard, and/or for new compilers to appear as easily installable optional packages. Requiring everyone to build a compiler first before building GDB, which would happen if we required a too-new compiler, would cause too much inconvenience. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ That was decided 3 years ago, so I guess we'd be good for a reevaluation, though I don't particularly miss C++14 features all that much, so I wouldn't mind staying with C++11 for a while longer in GDB. But if GCC jumps to C++14, I think GDB would follow along. Just FYI. C++03 -> C++11 makes a great difference. Particularly std::move and rvalue references are a game changer. Thanks, Pedro Alves