================ @@ -16,7 +16,8 @@ #define _NULLPTR_T #ifdef __cplusplus -#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) +#if __cplusplus >= 201103L || \ + (defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)) ---------------- philnik777 wrote:
> > We claim to be a C++11 implementation, not a C++03 implementation. > > That's not how I understood the RFC, unless I missed something. I understood > it as libc++ is a C++03 and later implementation but that we're not making > fixes to C++03 unless there's some major security vulnerability or other > extenuating circumstance. This has nothing to do with the RFC. libc++ has always provided a lot of "extensions" in C++03. From the very beginning we've had C++11 features implemented in C++03. I actually think it probably was a huge mistake, but we can't change it 15 years later. This is one of the main reasons we want to split the headers, so we can leave the cruft behind and not have massive workarounds for all the stuff we provide in 03. > > Well, it does with libc++. > > It's a non-conforming extension. If you look at it as a C++03 implementation. If you look at it as a C++11 implementation that works with C++03 compiler it's not. https://github.com/llvm/llvm-project/pull/154599 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits