From cfbc8fbb37e7b406ab2567ac35629793d4b499e7 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 17 Feb 2020 15:44:03 +0000 Subject: [PATCH] libstdc++: Add comment to explaining C++14 status This header is intentionally valid in C++14 mode, because no conforming C++14 program will try to include and so it's OK to add new (non-reserved in C++14) names to namespace std. However, other headers must not include transitively prior to C++17, so that we don't add those non-reserved names without the user requesting it. This adds a comment to the header explaining that. * include/std/charconv: Add comment. --- libstdc++-v3/ChangeLog | 2 ++ libstdc++-v3/include/std/charconv | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f4477aaa6f2..4556f17f7b7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,7 @@ 2020-02-17 Jonathan Wakely + * include/std/charconv: Add comment. + PR libstdc++/92546 (partial) * include/bits/random.h (uniform_random_bit_generator): Move definition to . diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 9b5a1f7cab8..ff7dfa12268 100644 --- a/libstdc++-v3/include/std/charconv +++ b/libstdc++-v3/include/std/charconv @@ -31,6 +31,10 @@ #pragma GCC system_header +// As an extension we support in C++14, but this header should not +// be included by any other library headers in C++14 mode. This ensures that +// the names defined in this header are not added to namespace std unless a +// user explicitly includes in C++14 code. #if __cplusplus >= 201402L #include -- 2.30.2