Export of internal Abseil changes.

--
788c948f698afe5998738cbb40b0629668640d73 by Derek Mauro <dmauro@google.com>:

Add an empty raw_logging_internal library. The raw_logging sources
will eventually migrate here.

This target will only contain internal sources. Abseil compatibility
guidelines require users not depend on internals.
https://abseil.io/about/compatibility

PiperOrigin-RevId: 260712817

--
8ea947ec54f47fb02e97597d243cb63aa4c5fe0b by Abseil Team <absl-team@google.com>:

Fixed an incorrect version number test for optional,etc. availability
in iOS. Added tests for watchOS and tvOS.

PiperOrigin-RevId: 260490390

--
53af0544277dc3020b81d16ce110e7bc89f5cf6e by Jorg Brown <jorg@google.com>:

Test the error-string path a bit more.

PiperOrigin-RevId: 260175886
GitOrigin-RevId: 788c948f698afe5998738cbb40b0629668640d73
Change-Id: I366b73331857dc5a1db843b650c2ba27a69a141e
This commit is contained in:
Abseil Team 2019-07-30 07:36:25 -07:00 committed by Andy Soffer
parent 36d37ab992
commit 52e88ee56b
4 changed files with 34 additions and 4 deletions

View file

@ -46,6 +46,15 @@ cc_library(
deps = [":core_headers"], deps = [":core_headers"],
) )
cc_library(
name = "raw_logging_internal",
copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
visibility = [
"//absl:__subpackages__",
],
)
cc_library( cc_library(
name = "spinlock_wait", name = "spinlock_wait",
srcs = [ srcs = [

View file

@ -36,6 +36,13 @@ absl_cc_library(
${ABSL_DEFAULT_COPTS} ${ABSL_DEFAULT_COPTS}
) )
absl_cc_library(
NAME
raw_logging_internal
COPTS
${ABSL_DEFAULT_COPTS}
)
absl_cc_library( absl_cc_library(
NAME NAME
spinlock_wait spinlock_wait

View file

@ -375,12 +375,17 @@
// https://github.com/abseil/abseil-cpp/issues/207 and // https://github.com/abseil/abseil-cpp/issues/207 and
// https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes // https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes
// libc++ spells out the availability requirements in the file // libc++ spells out the availability requirements in the file
// llvm-project/libcxx/include/__config. // llvm-project/libcxx/include/__config via the #define
// _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS.
#if defined(__APPLE__) && defined(_LIBCPP_VERSION) && \ #if defined(__APPLE__) && defined(_LIBCPP_VERSION) && \
((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \ ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101400) || \ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101400) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \ (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 101200)) __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 120000) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 120000) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 50000))
#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 1 #define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 1
#else #else
#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0 #define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0

View file

@ -72,6 +72,11 @@ TEST(CEscape, EscapeAndUnescape) {
EXPECT_TRUE(absl::CUnescape(escaped, &unescaped_str)); EXPECT_TRUE(absl::CUnescape(escaped, &unescaped_str));
EXPECT_EQ(unescaped_str, original); EXPECT_EQ(unescaped_str, original);
unescaped_str.erase();
std::string error;
EXPECT_TRUE(absl::CUnescape(escaped, &unescaped_str, &error));
EXPECT_EQ(error, "");
// Check in-place unescaping // Check in-place unescaping
std::string s = escaped; std::string s = escaped;
EXPECT_TRUE(absl::CUnescape(s, &s)); EXPECT_TRUE(absl::CUnescape(s, &s));
@ -150,7 +155,8 @@ TEST(CEscape, BasicEscaping) {
TEST(Unescape, BasicFunction) { TEST(Unescape, BasicFunction) {
epair tests[] = epair tests[] =
{{"\\u0030", "0"}, {{"", ""},
{"\\u0030", "0"},
{"\\u00A3", "\xC2\xA3"}, {"\\u00A3", "\xC2\xA3"},
{"\\u22FD", "\xE2\x8B\xBD"}, {"\\u22FD", "\xE2\x8B\xBD"},
{"\\U00010000", "\xF0\x90\x80\x80"}, {"\\U00010000", "\xF0\x90\x80\x80"},
@ -173,6 +179,9 @@ TEST(Unescape, BasicFunction) {
std::string out; std::string out;
EXPECT_FALSE(absl::CUnescape(e, &out, &error)); EXPECT_FALSE(absl::CUnescape(e, &out, &error));
EXPECT_FALSE(error.empty()); EXPECT_FALSE(error.empty());
out.erase();
EXPECT_FALSE(absl::CUnescape(e, &out));
} }
} }