diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-02-17 15:44:03 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-02-17 15:44:03 +0000 |
commit | cfbc8fbb37e7b406ab2567ac35629793d4b499e7 (patch) | |
tree | a3be6046f3bd7dbc13e20840aa34b0b885deec7c | |
parent | 9cd4eeefcc641dd70d026e08e9d218101b826c52 (diff) | |
download | gcc-cfbc8fbb37e7b406ab2567ac35629793d4b499e7.zip gcc-cfbc8fbb37e7b406ab2567ac35629793d4b499e7.tar.gz gcc-cfbc8fbb37e7b406ab2567ac35629793d4b499e7.tar.bz2 |
libstdc++: Add comment to <charconv> explaining C++14 status
This header is intentionally valid in C++14 mode, because no conforming
C++14 program will try to include <charconv> and so it's OK to add new
(non-reserved in C++14) names to namespace std. However, other headers
must not include <charconv> 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.
-rw-r--r-- | libstdc++-v3/ChangeLog | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/charconv | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f4477aa..4556f17 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,7 @@ 2020-02-17 Jonathan Wakely <jwakely@redhat.com> + * include/std/charconv: Add comment. + PR libstdc++/92546 (partial) * include/bits/random.h (uniform_random_bit_generator): Move definition to <bits/uniform_int_dist.h>. diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 9b5a1f7..ff7dfa1 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 <charconv> 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 <charconv> in C++14 code. #if __cplusplus >= 201402L #include <type_traits> |