On Wed, Jun 29, 2016 at 12:51 PM, Richard Smith <rich...@metafoo.co.uk> wrote:
> On Wed, Jun 29, 2016 at 12:30 PM, Sean Silva <chisophu...@gmail.com> > wrote: > >> >> >> On Wed, Jun 29, 2016 at 12:09 PM, Richard Smith via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Hi all! >>> >>> I'd like to establish a policy for Clang's default language standard (if >>> none is specified with -std), as follows: >>> >>> Clang defaults to the most recent published standard for the selected >>> language that it fully implements. >>> >>> The practical impact of this is that clang++ will default to C++14 for >>> C++ compilations (for version 3.9 onwards) and will default to C++17 once >>> our implementation support is complete and the standard is published >>> (whichever happens later). >>> >>> I'd suggest that we apply the same policy for clang-cl, but if it's >>> important that we enable a not-yet-fully-implemented standard for cl >>> compatibility, that seems reasonable. >>> >>> The question of whether the default mode for the GCC-compatible driver >>> should be -std=gnuXXX or -std=cXXX is separate, but also likely worth >>> discussing. Enabling GNU keywords by default is a very odd choice, and if >>> we believe we can change our defaults without breaking the world then this >>> seems like a good time to do so. >>> >> >> Using cXXX instead of gnuXXX would break the world on PS4. So for sure >> with `-std=c++latest` we would end up proposing a patch to change this for >> the PS4 target to gnu++latest (or gnu++11 if gnu++latest is not feasible). >> > > OK. Out of interest, is it the GNU keywords that you need, or some other > effect of the difference between modes? > A quick check of two titles I have at hand shows that at least `typeof` is in use. -- Sean Silva > > >> (As I'm sure you're aware, we have pending to upstream a patch that makes >> -std=gnu++11 the default C++ language mode on PS4 (just blocked on fixing >> tests to not assume the existing std)). >> >> It may be feasible for us to use a "-std=gnu++latest" behavior and not >> have to have a PS4-specific default; CC'ing Warren and Paul. >> >> -- Sean Silva >> >> >>> >>> I also intend to make explicit in our documentation that our -std=XXX >>> flag enables the selected standard, *plus all relevant issues in Defect >>> Report status from the relevant language committee* (it doesn't make sense >>> to support a language without its bugfixes). >>> >>> Thoughts? >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >>> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits