diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 008ce17..fbcc5f9 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h @@ -6,11 +6,13 @@ #include #include #include -#include +#if defined(__has_include) && __has_include() +#include #if defined(__cpp_lib_bit_cast) #include #endif +#endif #include "float_common.h" diff --git a/include/fast_float/fast_float.h b/include/fast_float/fast_float.h index b22a344..ac18297 100644 --- a/include/fast_float/fast_float.h +++ b/include/fast_float/fast_float.h @@ -3,13 +3,15 @@ #include -#include +#if !defined(CXX20_CONSTEXPR) && defined(__has_include) && __has_include() +#include #if defined(__cpp_lib_bit_cast) #define CXX20_CONSTEXPR constexpr #else #define CXX20_CONSTEXPR #endif +#endif namespace fast_float { enum chars_format { diff --git a/include/fast_float/float_common.h b/include/fast_float/float_common.h index b07ef43..1e10bf8 100644 --- a/include/fast_float/float_common.h +++ b/include/fast_float/float_common.h @@ -4,7 +4,6 @@ #include #include #include -#include #if (defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) \ || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) \ @@ -74,7 +73,8 @@ #define fastfloat_really_inline inline __attribute__((always_inline)) #endif -#if !defined(CXX20_CONSTEXPR) +#if !defined(CXX20_CONSTEXPR) && defined(__has_include) && __has_include() +#include #if defined(__cpp_lib_bit_cast) #define CXX20_CONSTEXPR constexpr #else