Skip to content

Commit b17eafd

Browse files
committed
chnage compiler check for bit_cast so it compiles with older compilers
1 parent d8ee88e commit b17eafd

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

include/fast_float/ascii_number.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
#include <cstdint>
77
#include <cstring>
88
#include <iterator>
9-
#include <version>
109

10+
#if defined(__has_include) && __has_include(<version>)
11+
#include <version>
1112
#if defined(__cpp_lib_bit_cast)
1213
#include <bit>
1314
#endif
15+
#endif
1416

1517
#include "float_common.h"
1618

include/fast_float/fast_float.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33

44

55
#include <system_error>
6-
#include <version>
76

7+
#if !defined(CXX20_CONSTEXPR) && defined(__has_include) && __has_include(<version>)
8+
#include <version>
89
#if defined(__cpp_lib_bit_cast)
910
#define CXX20_CONSTEXPR constexpr
1011
#else
1112
#define CXX20_CONSTEXPR
1213
#endif
14+
#endif
1315

1416
namespace fast_float {
1517
enum chars_format {

include/fast_float/float_common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include <cfloat>
55
#include <cstdint>
66
#include <cassert>
7-
#include <version>
87

98
#if (defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) \
109
|| defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) \
@@ -74,7 +73,8 @@
7473
#define fastfloat_really_inline inline __attribute__((always_inline))
7574
#endif
7675

77-
#if !defined(CXX20_CONSTEXPR)
76+
#if !defined(CXX20_CONSTEXPR) && defined(__has_include) && __has_include(<version>)
77+
#include <version>
7878
#if defined(__cpp_lib_bit_cast)
7979
#define CXX20_CONSTEXPR constexpr
8080
#else

0 commit comments

Comments
 (0)