On 02/10/17 15:13 +0100, Jonathan Wakely wrote:
+#ifndef _GLIBCXX_CHARCONV +#define _GLIBCXX_CHARCONV 1 + +#pragma GCC system_header + +#if __cplusplus >= 201402L + +#include <type_traits> +#include <limits> +#include <cctype> +#include <bits/error_constants.h> // for std::errc
I forgot to mention that I've made this header work for C++14 not just C++17. I did this for similar reasons as we make some C++17 things available for -std=gnu++11 and -std=gnu++14: #if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11 But in this case <charconv> is a completely new header so we don't have to limit it to -std=gnu++NN modes only. The new functions won't pollute namespace std unless the new header gets included, which strictly-conforming C++14 code won't do anyway.