aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2019-07-30 07:36:25 -0700
committerGravatar Andy Soffer <asoffer@google.com>2019-07-30 13:27:17 -0400
commit52e88ee56b72cf32bc66534d942c7398ce481331 (patch)
treea63d66a7ba3a560cb6154e6f5e4d4fc7419dc162
parent36d37ab992038f52276ca66b9da80c1cf0f57dc2 (diff)
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
-rw-r--r--absl/base/BUILD.bazel9
-rw-r--r--absl/base/CMakeLists.txt9
-rw-r--r--absl/base/config.h9
-rw-r--r--absl/strings/escaping_test.cc11
4 files changed, 34 insertions, 4 deletions
diff --git a/absl/base/BUILD.bazel b/absl/base/BUILD.bazel
index 1a18f5f..e825de0 100644
--- a/absl/base/BUILD.bazel
+++ b/absl/base/BUILD.bazel
@@ -47,6 +47,15 @@ cc_library(
)
cc_library(
+ name = "raw_logging_internal",
+ copts = ABSL_DEFAULT_COPTS,
+ linkopts = ABSL_DEFAULT_LINKOPTS,
+ visibility = [
+ "//absl:__subpackages__",
+ ],
+)
+
+cc_library(
name = "spinlock_wait",
srcs = [
"internal/spinlock_akaros.inc",
diff --git a/absl/base/CMakeLists.txt b/absl/base/CMakeLists.txt
index 8417556..9ff8073 100644
--- a/absl/base/CMakeLists.txt
+++ b/absl/base/CMakeLists.txt
@@ -34,7 +34,14 @@ absl_cc_library(
absl::core_headers
COPTS
${ABSL_DEFAULT_COPTS}
-)
+)
+
+absl_cc_library(
+ NAME
+ raw_logging_internal
+ COPTS
+ ${ABSL_DEFAULT_COPTS}
+)
absl_cc_library(
NAME
diff --git a/absl/base/config.h b/absl/base/config.h
index 692738e..181d840 100644
--- a/absl/base/config.h
+++ b/absl/base/config.h
@@ -375,12 +375,17 @@
// https://github.com/abseil/abseil-cpp/issues/207 and
// https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes
// 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) && \
((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101400) || \
(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
#else
#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0
diff --git a/absl/strings/escaping_test.cc b/absl/strings/escaping_test.cc
index 6a633cd..1967975 100644
--- a/absl/strings/escaping_test.cc
+++ b/absl/strings/escaping_test.cc
@@ -72,6 +72,11 @@ TEST(CEscape, EscapeAndUnescape) {
EXPECT_TRUE(absl::CUnescape(escaped, &unescaped_str));
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
std::string s = escaped;
EXPECT_TRUE(absl::CUnescape(s, &s));
@@ -150,7 +155,8 @@ TEST(CEscape, BasicEscaping) {
TEST(Unescape, BasicFunction) {
epair tests[] =
- {{"\\u0030", "0"},
+ {{"", ""},
+ {"\\u0030", "0"},
{"\\u00A3", "\xC2\xA3"},
{"\\u22FD", "\xE2\x8B\xBD"},
{"\\U00010000", "\xF0\x90\x80\x80"},
@@ -173,6 +179,9 @@ TEST(Unescape, BasicFunction) {
std::string out;
EXPECT_FALSE(absl::CUnescape(e, &out, &error));
EXPECT_FALSE(error.empty());
+
+ out.erase();
+ EXPECT_FALSE(absl::CUnescape(e, &out));
}
}