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

Reply via email to