From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Mon, 3 May 2021 07:37:39 -0700 Subject: [PATCH] Export of internal Abseil changes -- cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro : Fixes build with latest glibc Fixes #952 PiperOrigin-RevId: 371693908 -- 99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen : Add support for std::string_view in StrFormat even when absl::string_view != std::string_view. PiperOrigin-RevId: 371693633 -- e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team : Cmake builds should only install pkg-config when explicitly requested. PiperOrigin-RevId: 371403419 GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583 Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea --- absl/debugging/failure_signal_handler.cc | 3 ++- absl/strings/internal/str_format/arg.h | 8 ++++++++ absl/strings/internal/str_format/convert_test.cc | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc index 5d13bdbb..2ed137b5 100644 --- a/absl/debugging/failure_signal_handler.cc +++ b/absl/debugging/failure_signal_handler.cc @@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() { #else const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; #endif - size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + size_t stack_size = + (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) // Account for sanitizer instrumentation requiring additional stack space. diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h index 3dbc1526..f9d89d12 100644 --- a/absl/strings/internal/str_format/arg.h +++ b/absl/strings/internal/str_format/arg.h @@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const std::string& v, StringConvertResult FormatConvertImpl(string_view v, FormatConversionSpecImpl conv, FormatSinkImpl* sink); +#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW) +inline StringConvertResult FormatConvertImpl(std::string_view v, + FormatConversionSpecImpl conv, + FormatSinkImpl* sink) { + return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink); +} +#endif // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW + ArgConvertResult FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv, diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc index 634ee78b..cc789530 100644 --- a/absl/strings/internal/str_format/convert_test.cc +++ b/absl/strings/internal/str_format/convert_test.cc @@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) { TestStringConvert(static_cast("hello")); TestStringConvert(std::string("hello")); TestStringConvert(string_view("hello")); +#if defined(ABSL_HAVE_STD_STRING_VIEW) + TestStringConvert(std::string_view("hello")); +#endif // ABSL_HAVE_STD_STRING_VIEW } TEST_F(FormatConvertTest, NullString) {