On Thu, Jun 30, 2016 at 2:02 AM, David Chisnall <david.chisn...@cl.cam.ac.uk > wrote:
> On 29 Jun 2016, at 23:07, Richard Smith via cfe-dev < > cfe-...@lists.llvm.org> wrote: > > > > Yes, those are real problems, but it's not reasonable for us to keep the > default at C++98/03 forever. GCC has already taken the plunge here, so a > lot of open-source code that doesn't work in C++11 onwards already > explicitly specifies an appropriate -std= flag. > > > > Could you clarify exactly what the issue is? Currently, if I have some > legacy C++98 code, the odds are that it just compiles with ${CXX}. If I > have new C++11 or C++14 code, then its build system likely sticks on the > required -std= flag and it builds independent of what the compiler default > is. > Why should new C++ code pay this tax to use the language that is currently called C++, that is taught as C++, that is covered by books on C++, and so on? C++98 is increasingly the odd one out, and it's the one where an explicit -std= flag should be required. What code would be broken by keeping the default at the language version > accepted by code that didn’t know about newer standards? Any code written for modern GCC. Any code written for modern MSVC. As long as we’re keeping support for C++98 in the front end, keeping the > default there doesn’t seem particularly arduous for us and will avoid > breaking third-party code. At some point (although probably not for at least a decade) I expect we will want to remove C++98 support from Clang.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits