From 1b193e7b3716f57d64fa2f98275eb1395fea4eff Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Mon, 3 Jan 2022 09:56:44 -0800 Subject: [PATCH] Deprecate more --- include/fmt/core.h | 33 +++++++++++++++++++++++---------- include/fmt/format.h | 14 -------------- test/core-test.cc | 8 +++----- test/format-test.cc | 16 ---------------- test/printf-test.cc | 6 ------ 5 files changed, 26 insertions(+), 51 deletions(-) diff --git a/include/fmt/core.h b/include/fmt/core.h index c946e12a..4efa21f1 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -219,6 +219,20 @@ # endif #endif +#ifndef FMT_DEPRECATED +# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VER >= 1900 +# define FMT_DEPRECATED [[deprecated]] +# else +# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) +# define FMT_DEPRECATED __attribute__((deprecated)) +# elif FMT_MSC_VER +# define FMT_DEPRECATED __declspec(deprecated) +# else +# define FMT_DEPRECATED /* deprecated */ +# endif +# endif +#endif + #ifndef FMT_BEGIN_NAMESPACE # define FMT_BEGIN_NAMESPACE \ namespace fmt { \ @@ -1373,21 +1387,20 @@ template struct arg_mapper { using cstring_result = conditional_t::value, const char*, unformattable_pointer>; - // DEPRECATED! - FMT_CONSTEXPR FMT_INLINE auto map(const signed char* val) -> cstring_result { - return map(reinterpret_cast(val)); - } - // DEPRECATED! - FMT_CONSTEXPR FMT_INLINE auto map(const unsigned char* val) + FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(const signed char* val) -> cstring_result { return map(reinterpret_cast(val)); } - // DEPRECATED! - FMT_CONSTEXPR FMT_INLINE auto map(signed char* val) -> cstring_result { + FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(const unsigned char* val) + -> cstring_result { return map(reinterpret_cast(val)); } - // DEPRECATED! - FMT_CONSTEXPR FMT_INLINE auto map(unsigned char* val) -> cstring_result { + FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(signed char* val) + -> cstring_result { + return map(reinterpret_cast(val)); + } + FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(unsigned char* val) + -> cstring_result { return map(reinterpret_cast(val)); } diff --git a/include/fmt/format.h b/include/fmt/format.h index 1a5ff230..a6f1fdc8 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -110,20 +110,6 @@ FMT_END_NAMESPACE # define FMT_CATCH(x) if (false) #endif -#ifndef FMT_DEPRECATED -# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VER >= 1900 -# define FMT_DEPRECATED [[deprecated]] -# else -# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) -# define FMT_DEPRECATED __attribute__((deprecated)) -# elif FMT_MSC_VER -# define FMT_DEPRECATED __declspec(deprecated) -# else -# define FMT_DEPRECATED /* deprecated */ -# endif -# endif -#endif - #ifndef FMT_MAYBE_UNUSED # if FMT_HAS_CPP17_ATTRIBUTE(maybe_unused) # define FMT_MAYBE_UNUSED [[maybe_unused]] diff --git a/test/core-test.cc b/test/core-test.cc index 78ec3de2..b2f2097e 100644 --- a/test/core-test.cc +++ b/test/core-test.cc @@ -740,10 +740,13 @@ struct convertible_to_pointer { enum class test_scoped_enum {}; TEST(core_test, is_formattable) { +#if 0 + // This should be enabled once corresponding map overloads are gone. static_assert(fmt::is_formattable::value, ""); static_assert(fmt::is_formattable::value, ""); static_assert(fmt::is_formattable::value, ""); static_assert(fmt::is_formattable::value, ""); +#endif static_assert(!fmt::is_formattable::value, ""); #ifdef __cpp_char8_t static_assert(!fmt::is_formattable::value, ""); @@ -768,11 +771,6 @@ TEST(core_test, is_formattable) { static_assert(!fmt::is_formattable::value, ""); - static_assert(!fmt::is_formattable::value, ""); - static_assert(!fmt::is_formattable::value, ""); - static_assert(!fmt::is_formattable::value, ""); - static_assert(!fmt::is_formattable::value, ""); - static_assert(!fmt::is_formattable::value, ""); struct s; diff --git a/test/format-test.cc b/test/format-test.cc index 952dbe20..a8592ef0 100644 --- a/test/format-test.cc +++ b/test/format-test.cc @@ -1386,22 +1386,6 @@ TEST(format_test, format_cstring) { format_error, "string pointer is null"); } -TEST(format_test, format_schar_string) { - signed char str[] = "test"; - EXPECT_EQ("test", fmt::format("{0:s}", str)); - const signed char* const_str = str; - EXPECT_EQ("test", fmt::format("{0:s}", const_str)); -} - -TEST(format_test, format_uchar_string) { - unsigned char str[] = "test"; - EXPECT_EQ("test", fmt::format("{0:s}", str)); - const unsigned char* const_str = str; - EXPECT_EQ("test", fmt::format("{0:s}", const_str)); - unsigned char* ptr = str; - EXPECT_EQ("test", fmt::format("{0:s}", ptr)); -} - void function_pointer_test(int, double, std::string) {} TEST(format_test, format_pointer) { diff --git a/test/printf-test.cc b/test/printf-test.cc index e22e0b9d..0bb9ccda 100644 --- a/test/printf-test.cc +++ b/test/printf-test.cc @@ -481,12 +481,6 @@ TEST(printf_test, string) { EXPECT_PRINTF(L" (null)", L"%10s", null_wstr); } -TEST(printf_test, uchar_string) { - unsigned char str[] = "test"; - unsigned char* pstr = str; - EXPECT_EQ("test", fmt::sprintf("%s", pstr)); -} - TEST(printf_test, pointer) { int n; void* p = &n;