mirror of
https://github.com/fmtlib/fmt.git
synced 2025-07-31 19:24:48 +02:00
Fix more compilation errors on gcc 4.6
This commit is contained in:
@@ -2658,7 +2658,8 @@ void basic_writer<Range>::write_double(T value, const format_specs &spec) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto write_inf_or_nan = [this, &spec, sign](const char *str) {
|
auto write_inf_or_nan = [this, &spec, sign](const char *str) {
|
||||||
write_padded(INF_SIZE + (sign ? 1 : 0), spec, inf_or_nan_writer{sign, str});
|
this->write_padded(INF_SIZE + (sign ? 1 : 0), spec,
|
||||||
|
inf_or_nan_writer{sign, str});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Format NaN and ininity ourselves because sprintf's output is not consistent
|
// Format NaN and ininity ourselves because sprintf's output is not consistent
|
||||||
|
@@ -67,8 +67,10 @@ class convert_to_int<T, Char, true> {
|
|||||||
template <typename>
|
template <typename>
|
||||||
static std::false_type test(...);
|
static std::false_type test(...);
|
||||||
|
|
||||||
|
typedef decltype(test<T>(0)) result;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static const bool value = !decltype(test<T>(0))::value;
|
static const bool value = !result::value;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Write the content of buf to os.
|
// Write the content of buf to os.
|
||||||
|
@@ -290,7 +290,7 @@ class printf_arg_formatter : public internal::arg_formatter_base<Range> {
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
struct printf_formatter {
|
struct printf_formatter {
|
||||||
template <typename ParseContext>
|
template <typename ParseContext>
|
||||||
auto parse(ParseContext &ctx) { return ctx.begin(); }
|
auto parse(ParseContext &ctx) -> decltype(ctx.begin()) { return ctx.begin(); }
|
||||||
|
|
||||||
template <typename FormatContext>
|
template <typename FormatContext>
|
||||||
auto format(const T &value, FormatContext &ctx) -> decltype(ctx.begin()) {
|
auto format(const T &value, FormatContext &ctx) -> decltype(ctx.begin()) {
|
||||||
|
@@ -137,6 +137,8 @@ TEST(StringViewTest, Ctor) {
|
|||||||
EXPECT_EQ(4u, string_view(std::string("defg")).size());
|
EXPECT_EQ(4u, string_view(std::string("defg")).size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GCC 4.6 doesn't have std::is_copy_*.
|
||||||
|
#if FMT_GCC_VERSION && FMT_GCC_VERSION >= 407
|
||||||
TEST(WriterTest, NotCopyConstructible) {
|
TEST(WriterTest, NotCopyConstructible) {
|
||||||
EXPECT_FALSE(std::is_copy_constructible<fmt::writer>::value);
|
EXPECT_FALSE(std::is_copy_constructible<fmt::writer>::value);
|
||||||
}
|
}
|
||||||
@@ -144,6 +146,7 @@ TEST(WriterTest, NotCopyConstructible) {
|
|||||||
TEST(WriterTest, NotCopyAssignable) {
|
TEST(WriterTest, NotCopyAssignable) {
|
||||||
EXPECT_FALSE(std::is_copy_assignable<fmt::writer>::value);
|
EXPECT_FALSE(std::is_copy_assignable<fmt::writer>::value);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
TEST(WriterTest, Data) {
|
TEST(WriterTest, Data) {
|
||||||
memory_buffer buf;
|
memory_buffer buf;
|
||||||
|
Reference in New Issue
Block a user