Export of internal Abseil changes
-- bc74316103bbda92541896f588f71c9d45bea768 by Gennadiy Civil <misterg@google.com>: Manually fixing the BUILD.bazel files -- d41bf9ea916a0dc8c69e6ba77f58f9d55649880e by Shaindel Schwartz <shaindel@google.com>: Minor cleanup to miscellaneous BUILD files. PiperOrigin-RevId: 266420157 -- 08a8dc2cbd48d27e1115809f9ca8d178551cd66e by Gennadiy Civil <misterg@google.com>: Internal Change BEGIN_PUBLIC Internal Change END_PUBLIC -- 8617d58fde1ece40e4aa79eaa5e250b42d19835f by Shaindel Schwartz <shaindel@google.com>: Internal Change BEGIN_PUBLIC Internal Change END_PUBLIC -- 3a0fc7d48bdc70c4f7dffc219578693dea84eb2d by Derek Mauro <dmauro@google.com>: Implement absl::string_view::at() PiperOrigin-RevId: 266024644 -- ba53a9da8ede8fe7b8971eaab6b3a1fa34763ff6 by Andy Soffer <asoffer@google.com>: Remove forcing of optimization levels in MSVC. PiperOrigin-RevId: 265927588 -- df86f2046b54bba7da2e345040806d43470de5c0 by Shaindel Schwartz <shaindel@google.com>: Internal change PiperOrigin-RevId: 265811077 -- e2e3a6e8194363e7c6377672560c806d638a7c74 by Derek Mauro <dmauro@google.com>: Remove ABI unsafe mixed exceptions mode compilation. Testing will now be done on CI with the exceptions flag set globally. PiperOrigin-RevId: 265796079 GitOrigin-RevId: bc74316103bbda92541896f588f71c9d45bea768 Change-Id: Ibccd00f4829520454aa55c4f55c7cb2dc9c6b65a
This commit is contained in:
parent
a0d1e098c2
commit
1948f6f967
31 changed files with 132 additions and 304 deletions
|
@ -19,8 +19,6 @@ load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_DEFAULT_LINKOPTS",
|
"ABSL_DEFAULT_LINKOPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -241,8 +239,8 @@ cc_library(
|
||||||
name = "throw_delegate",
|
name = "throw_delegate",
|
||||||
srcs = ["internal/throw_delegate.cc"],
|
srcs = ["internal/throw_delegate.cc"],
|
||||||
hdrs = ["internal/throw_delegate.h"],
|
hdrs = ["internal/throw_delegate.h"],
|
||||||
copts = ABSL_DEFAULT_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
visibility = [
|
visibility = [
|
||||||
"//absl:__subpackages__",
|
"//absl:__subpackages__",
|
||||||
],
|
],
|
||||||
|
@ -255,9 +253,10 @@ cc_library(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "throw_delegate_test",
|
name = "throw_delegate_test",
|
||||||
srcs = ["throw_delegate_test.cc"],
|
srcs = ["throw_delegate_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
":config",
|
||||||
":throw_delegate",
|
":throw_delegate",
|
||||||
"@com_google_googletest//:gtest_main",
|
"@com_google_googletest//:gtest_main",
|
||||||
],
|
],
|
||||||
|
@ -290,8 +289,8 @@ cc_library(
|
||||||
testonly = 1,
|
testonly = 1,
|
||||||
srcs = ["internal/exception_safety_testing.cc"],
|
srcs = ["internal/exception_safety_testing.cc"],
|
||||||
hdrs = ["internal/exception_safety_testing.h"],
|
hdrs = ["internal/exception_safety_testing.h"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":config",
|
":config",
|
||||||
":pretty_function",
|
":pretty_function",
|
||||||
|
@ -306,8 +305,8 @@ cc_library(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "exception_safety_testing_test",
|
name = "exception_safety_testing_test",
|
||||||
srcs = ["exception_safety_testing_test.cc"],
|
srcs = ["exception_safety_testing_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":exception_safety_testing",
|
":exception_safety_testing",
|
||||||
"//absl/memory",
|
"//absl/memory",
|
||||||
|
|
|
@ -194,7 +194,6 @@ absl_cc_library(
|
||||||
"internal/throw_delegate.cc"
|
"internal/throw_delegate.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_DEFAULT_COPTS}
|
${ABSL_DEFAULT_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
absl::raw_logging_internal
|
absl::raw_logging_internal
|
||||||
|
@ -231,9 +230,6 @@ absl_cc_library(
|
||||||
"internal/exception_safety_testing.cc"
|
"internal/exception_safety_testing.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
absl::pretty_function
|
absl::pretty_function
|
||||||
|
@ -252,9 +248,6 @@ absl_cc_test(
|
||||||
"exception_safety_testing_test.cc"
|
"exception_safety_testing_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::exception_safety_testing
|
absl::exception_safety_testing
|
||||||
absl::memory
|
absl::memory
|
||||||
|
@ -296,6 +289,7 @@ absl_cc_test(
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
DEPS
|
DEPS
|
||||||
absl::base
|
absl::base
|
||||||
|
absl::config
|
||||||
absl::throw_delegate
|
absl::throw_delegate
|
||||||
gtest_main
|
gtest_main
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
#include "absl/base/internal/exception_safety_testing.h"
|
#include "absl/base/internal/exception_safety_testing.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -952,3 +954,5 @@ TEST(ThrowingAllocatorTraitsTest, Assignablility) {
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
} // namespace testing
|
} // namespace testing
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
#include "absl/base/internal/exception_safety_testing.h"
|
#include "absl/base/internal/exception_safety_testing.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
#include "absl/meta/type_traits.h"
|
#include "absl/meta/type_traits.h"
|
||||||
|
|
||||||
|
@ -73,3 +75,5 @@ std::string GetSpecString(AllocSpec spec) {
|
||||||
} // namespace exceptions_internal
|
} // namespace exceptions_internal
|
||||||
|
|
||||||
} // namespace testing
|
} // namespace testing
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
#ifndef ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
#ifndef ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
||||||
#define ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
#define ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
@ -27,7 +31,6 @@
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
#include "absl/base/config.h"
|
|
||||||
#include "absl/base/internal/pretty_function.h"
|
#include "absl/base/internal/pretty_function.h"
|
||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
#include "absl/meta/type_traits.h"
|
#include "absl/meta/type_traits.h"
|
||||||
|
@ -1093,4 +1096,6 @@ class ExceptionSafetyTestBuilder {
|
||||||
|
|
||||||
} // namespace testing
|
} // namespace testing
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#endif // ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
#endif // ABSL_BASE_INTERNAL_EXCEPTION_SAFETY_TESTING_H_
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <new>
|
#include <new>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -38,31 +39,43 @@ constexpr const char* what_arg = "The quick brown fox jumps over the lazy dog";
|
||||||
|
|
||||||
template <typename E>
|
template <typename E>
|
||||||
void ExpectThrowChar(void (*f)(const char*)) {
|
void ExpectThrowChar(void (*f)(const char*)) {
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
try {
|
try {
|
||||||
f(what_arg);
|
f(what_arg);
|
||||||
FAIL() << "Didn't throw";
|
FAIL() << "Didn't throw";
|
||||||
} catch (const E& e) {
|
} catch (const E& e) {
|
||||||
EXPECT_STREQ(e.what(), what_arg);
|
EXPECT_STREQ(e.what(), what_arg);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
EXPECT_DEATH_IF_SUPPORTED(f(what_arg), what_arg);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename E>
|
template <typename E>
|
||||||
void ExpectThrowString(void (*f)(const std::string&)) {
|
void ExpectThrowString(void (*f)(const std::string&)) {
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
try {
|
try {
|
||||||
f(what_arg);
|
f(what_arg);
|
||||||
FAIL() << "Didn't throw";
|
FAIL() << "Didn't throw";
|
||||||
} catch (const E& e) {
|
} catch (const E& e) {
|
||||||
EXPECT_STREQ(e.what(), what_arg);
|
EXPECT_STREQ(e.what(), what_arg);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
EXPECT_DEATH_IF_SUPPORTED(f(what_arg), what_arg);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename E>
|
template <typename E>
|
||||||
void ExpectThrowNoWhat(void (*f)()) {
|
void ExpectThrowNoWhat(void (*f)()) {
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
try {
|
try {
|
||||||
f();
|
f();
|
||||||
FAIL() << "Didn't throw";
|
FAIL() << "Didn't throw";
|
||||||
} catch (const E& e) {
|
} catch (const E& e) {
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
EXPECT_DEATH_IF_SUPPORTED(f(), "");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(ThrowHelper, Test) {
|
TEST(ThrowHelper, Test) {
|
||||||
|
|
|
@ -19,8 +19,6 @@ load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_DEFAULT_LINKOPTS",
|
"ABSL_DEFAULT_LINKOPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -72,20 +70,6 @@ cc_library(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "fixed_array_test",
|
name = "fixed_array_test",
|
||||||
srcs = ["fixed_array_test.cc"],
|
srcs = ["fixed_array_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
|
||||||
deps = [
|
|
||||||
":fixed_array",
|
|
||||||
"//absl/base:exception_testing",
|
|
||||||
"//absl/hash:hash_testing",
|
|
||||||
"//absl/memory",
|
|
||||||
"@com_google_googletest//:gtest_main",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
cc_test(
|
|
||||||
name = "fixed_array_test_noexceptions",
|
|
||||||
srcs = ["fixed_array_test.cc"],
|
|
||||||
copts = ABSL_TEST_COPTS,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
@ -100,10 +84,11 @@ cc_test(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "fixed_array_exception_safety_test",
|
name = "fixed_array_exception_safety_test",
|
||||||
srcs = ["fixed_array_exception_safety_test.cc"],
|
srcs = ["fixed_array_exception_safety_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":fixed_array",
|
":fixed_array",
|
||||||
|
"//absl/base:config",
|
||||||
"//absl/base:exception_safety_testing",
|
"//absl/base:exception_safety_testing",
|
||||||
"@com_google_googletest//:gtest_main",
|
"@com_google_googletest//:gtest_main",
|
||||||
],
|
],
|
||||||
|
@ -161,25 +146,6 @@ cc_library(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "inlined_vector_test",
|
name = "inlined_vector_test",
|
||||||
srcs = ["inlined_vector_test.cc"],
|
srcs = ["inlined_vector_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
|
||||||
deps = [
|
|
||||||
":counting_allocator",
|
|
||||||
":inlined_vector",
|
|
||||||
":test_instance_tracker",
|
|
||||||
"//absl/base:core_headers",
|
|
||||||
"//absl/base:exception_testing",
|
|
||||||
"//absl/base:raw_logging_internal",
|
|
||||||
"//absl/hash:hash_testing",
|
|
||||||
"//absl/memory",
|
|
||||||
"//absl/strings",
|
|
||||||
"@com_google_googletest//:gtest_main",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
cc_test(
|
|
||||||
name = "inlined_vector_test_noexceptions",
|
|
||||||
srcs = ["inlined_vector_test.cc"],
|
|
||||||
copts = ABSL_TEST_COPTS,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
@ -214,9 +180,10 @@ cc_test(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "inlined_vector_exception_safety_test",
|
name = "inlined_vector_exception_safety_test",
|
||||||
srcs = ["inlined_vector_exception_safety_test.cc"],
|
srcs = ["inlined_vector_exception_safety_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":inlined_vector",
|
":inlined_vector",
|
||||||
|
"//absl/base:config",
|
||||||
"//absl/base:exception_safety_testing",
|
"//absl/base:exception_safety_testing",
|
||||||
"@com_google_googletest//:gtest_main",
|
"@com_google_googletest//:gtest_main",
|
||||||
],
|
],
|
||||||
|
@ -878,7 +845,7 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"btree_test.cc",
|
"btree_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ["-fexceptions"],
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
shard_count = 10,
|
shard_count = 10,
|
||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
|
|
|
@ -141,24 +141,6 @@ absl_cc_test(
|
||||||
fixed_array_test
|
fixed_array_test
|
||||||
SRCS
|
SRCS
|
||||||
"fixed_array_test.cc"
|
"fixed_array_test.cc"
|
||||||
COPTS
|
|
||||||
${ABSL_TEST_COPTS}
|
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
|
||||||
absl::fixed_array
|
|
||||||
absl::exception_testing
|
|
||||||
absl::hash_testing
|
|
||||||
absl::memory
|
|
||||||
gmock_main
|
|
||||||
)
|
|
||||||
|
|
||||||
absl_cc_test(
|
|
||||||
NAME
|
|
||||||
fixed_array_test_noexceptions
|
|
||||||
SRCS
|
|
||||||
"fixed_array_test.cc"
|
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
DEPS
|
DEPS
|
||||||
|
@ -176,11 +158,9 @@ absl_cc_test(
|
||||||
"fixed_array_exception_safety_test.cc"
|
"fixed_array_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::fixed_array
|
absl::fixed_array
|
||||||
|
absl::config
|
||||||
absl::exception_safety_testing
|
absl::exception_safety_testing
|
||||||
gmock_main
|
gmock_main
|
||||||
)
|
)
|
||||||
|
@ -233,9 +213,6 @@ absl_cc_test(
|
||||||
"inlined_vector_test.cc"
|
"inlined_vector_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::counting_allocator
|
absl::counting_allocator
|
||||||
absl::inlined_vector
|
absl::inlined_vector
|
||||||
|
@ -249,25 +226,6 @@ absl_cc_test(
|
||||||
gmock_main
|
gmock_main
|
||||||
)
|
)
|
||||||
|
|
||||||
absl_cc_test(
|
|
||||||
NAME
|
|
||||||
inlined_vector_test_noexceptions
|
|
||||||
SRCS
|
|
||||||
"inlined_vector_test.cc"
|
|
||||||
COPTS
|
|
||||||
${ABSL_TEST_COPTS}
|
|
||||||
DEPS
|
|
||||||
absl::inlined_vector
|
|
||||||
absl::test_instance_tracker
|
|
||||||
absl::core_headers
|
|
||||||
absl::exception_testing
|
|
||||||
absl::hash_testing
|
|
||||||
absl::memory
|
|
||||||
absl::raw_logging_internal
|
|
||||||
absl::strings
|
|
||||||
gmock_main
|
|
||||||
)
|
|
||||||
|
|
||||||
absl_cc_test(
|
absl_cc_test(
|
||||||
NAME
|
NAME
|
||||||
inlined_vector_exception_safety_test
|
inlined_vector_exception_safety_test
|
||||||
|
@ -275,11 +233,9 @@ absl_cc_test(
|
||||||
"inlined_vector_exception_safety_test.cc"
|
"inlined_vector_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::inlined_vector
|
absl::inlined_vector
|
||||||
|
absl::config
|
||||||
absl::exception_safety_testing
|
absl::exception_safety_testing
|
||||||
gmock_main
|
gmock_main
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,11 +12,16 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
|
#include "absl/container/fixed_array.h"
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
#include "absl/base/internal/exception_safety_testing.h"
|
#include "absl/base/internal/exception_safety_testing.h"
|
||||||
#include "absl/container/fixed_array.h"
|
|
||||||
|
|
||||||
namespace absl {
|
namespace absl {
|
||||||
|
|
||||||
|
@ -114,3 +119,5 @@ TEST(FixedArrayExceptionSafety, Fill) {
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
} // namespace absl
|
} // namespace absl
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
|
@ -12,6 +12,12 @@
|
||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
|
#include "absl/container/inlined_vector.h"
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <initializer_list>
|
#include <initializer_list>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
@ -20,7 +26,6 @@
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
#include "absl/base/internal/exception_safety_testing.h"
|
#include "absl/base/internal/exception_safety_testing.h"
|
||||||
#include "absl/container/inlined_vector.h"
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
@ -487,3 +492,5 @@ TYPED_TEST(TwoSizeTest, Swap) {
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
|
@ -8,7 +8,6 @@ set(ABSL_DEFAULT_LINKOPTS "")
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
set(ABSL_DEFAULT_COPTS "${ABSL_GCC_FLAGS}")
|
set(ABSL_DEFAULT_COPTS "${ABSL_GCC_FLAGS}")
|
||||||
set(ABSL_TEST_COPTS "${ABSL_GCC_FLAGS};${ABSL_GCC_TEST_FLAGS}")
|
set(ABSL_TEST_COPTS "${ABSL_GCC_FLAGS};${ABSL_GCC_TEST_FLAGS}")
|
||||||
set(ABSL_EXCEPTIONS_FLAG "${ABSL_GCC_EXCEPTIONS_FLAGS}")
|
|
||||||
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
|
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
|
||||||
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||||
# MATCHES so we get both Clang and AppleClang
|
# MATCHES so we get both Clang and AppleClang
|
||||||
|
@ -16,13 +15,11 @@ elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||||
# clang-cl is half MSVC, half LLVM
|
# clang-cl is half MSVC, half LLVM
|
||||||
set(ABSL_DEFAULT_COPTS "${ABSL_CLANG_CL_FLAGS}")
|
set(ABSL_DEFAULT_COPTS "${ABSL_CLANG_CL_FLAGS}")
|
||||||
set(ABSL_TEST_COPTS "${ABSL_CLANG_CL_FLAGS};${ABSL_CLANG_CL_TEST_FLAGS}")
|
set(ABSL_TEST_COPTS "${ABSL_CLANG_CL_FLAGS};${ABSL_CLANG_CL_TEST_FLAGS}")
|
||||||
set(ABSL_EXCEPTIONS_FLAG "${ABSL_CLANG_CL_EXCEPTIONS_FLAGS}")
|
|
||||||
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
||||||
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_MSVC_X64_FLAGS}")
|
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_MSVC_X64_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(ABSL_DEFAULT_COPTS "${ABSL_LLVM_FLAGS}")
|
set(ABSL_DEFAULT_COPTS "${ABSL_LLVM_FLAGS}")
|
||||||
set(ABSL_TEST_COPTS "${ABSL_LLVM_FLAGS};${ABSL_LLVM_TEST_FLAGS}")
|
set(ABSL_TEST_COPTS "${ABSL_LLVM_FLAGS};${ABSL_LLVM_TEST_FLAGS}")
|
||||||
set(ABSL_EXCEPTIONS_FLAG "${ABSL_LLVM_EXCEPTIONS_FLAGS}")
|
|
||||||
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
|
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
# AppleClang doesn't have lsan
|
# AppleClang doesn't have lsan
|
||||||
|
@ -36,20 +33,15 @@ elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||||
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
set(ABSL_DEFAULT_COPTS "${ABSL_MSVC_FLAGS}")
|
set(ABSL_DEFAULT_COPTS "${ABSL_MSVC_FLAGS}")
|
||||||
set(ABSL_TEST_COPTS "${ABSL_MSVC_FLAGS};${ABSL_MSVC_TEST_FLAGS}")
|
set(ABSL_TEST_COPTS "${ABSL_MSVC_FLAGS};${ABSL_MSVC_TEST_FLAGS}")
|
||||||
set(ABSL_EXCEPTIONS_FLAG "${ABSL_MSVC_EXCEPTIONS_FLAGS}")
|
|
||||||
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
set(ABSL_DEFAULT_LINKOPTS "${ABSL_MSVC_LINKOPTS}")
|
||||||
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_MSVC_X64_FLAGS}")
|
set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_MSVC_X64_FLAGS}")
|
||||||
else()
|
else()
|
||||||
message(WARNING "Unknown compiler: ${CMAKE_CXX_COMPILER}. Building with no default flags")
|
message(WARNING "Unknown compiler: ${CMAKE_CXX_COMPILER}. Building with no default flags")
|
||||||
set(ABSL_DEFAULT_COPTS "")
|
set(ABSL_DEFAULT_COPTS "")
|
||||||
set(ABSL_TEST_COPTS "")
|
set(ABSL_TEST_COPTS "")
|
||||||
set(ABSL_EXCEPTIONS_FLAG "")
|
|
||||||
set(ABSL_RANDOM_RANDEN_COPTS "")
|
set(ABSL_RANDOM_RANDEN_COPTS "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# This flag is used internally for Bazel builds and is kept here for consistency
|
|
||||||
set(ABSL_EXCEPTIONS_FLAG_LINKOPTS "")
|
|
||||||
|
|
||||||
if("${CMAKE_CXX_STANDARD}" EQUAL 98)
|
if("${CMAKE_CXX_STANDARD}" EQUAL 98)
|
||||||
message(FATAL_ERROR "Abseil requires at least C++11")
|
message(FATAL_ERROR "Abseil requires at least C++11")
|
||||||
elseif(NOT "${CMAKE_CXX_STANDARD}")
|
elseif(NOT "${CMAKE_CXX_STANDARD}")
|
||||||
|
|
|
@ -3,12 +3,6 @@
|
||||||
# (1) Edit absl/copts/copts.py.
|
# (1) Edit absl/copts/copts.py.
|
||||||
# (2) Run `python <path_to_absl>/copts/generate_copts.py`.
|
# (2) Run `python <path_to_absl>/copts/generate_copts.py`.
|
||||||
|
|
||||||
list(APPEND ABSL_CLANG_CL_EXCEPTIONS_FLAGS
|
|
||||||
"/U_HAS_EXCEPTIONS"
|
|
||||||
"/D_HAS_EXCEPTIONS=1"
|
|
||||||
"/EHsc"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND ABSL_CLANG_CL_FLAGS
|
list(APPEND ABSL_CLANG_CL_FLAGS
|
||||||
"/W3"
|
"/W3"
|
||||||
"-Wno-c++98-compat-pedantic"
|
"-Wno-c++98-compat-pedantic"
|
||||||
|
@ -80,10 +74,6 @@ list(APPEND ABSL_CLANG_CL_TEST_FLAGS
|
||||||
"-Wno-gnu-zero-variadic-macro-arguments"
|
"-Wno-gnu-zero-variadic-macro-arguments"
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND ABSL_GCC_EXCEPTIONS_FLAGS
|
|
||||||
"-fexceptions"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND ABSL_GCC_FLAGS
|
list(APPEND ABSL_GCC_FLAGS
|
||||||
"-Wall"
|
"-Wall"
|
||||||
"-Wextra"
|
"-Wextra"
|
||||||
|
@ -111,10 +101,6 @@ list(APPEND ABSL_GCC_TEST_FLAGS
|
||||||
"-Wno-unused-private-field"
|
"-Wno-unused-private-field"
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND ABSL_LLVM_EXCEPTIONS_FLAGS
|
|
||||||
"-fexceptions"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND ABSL_LLVM_FLAGS
|
list(APPEND ABSL_LLVM_FLAGS
|
||||||
"-Wall"
|
"-Wall"
|
||||||
"-Wextra"
|
"-Wextra"
|
||||||
|
@ -183,12 +169,6 @@ list(APPEND ABSL_LLVM_TEST_FLAGS
|
||||||
"-Wno-gnu-zero-variadic-macro-arguments"
|
"-Wno-gnu-zero-variadic-macro-arguments"
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND ABSL_MSVC_EXCEPTIONS_FLAGS
|
|
||||||
"/U_HAS_EXCEPTIONS"
|
|
||||||
"/D_HAS_EXCEPTIONS=1"
|
|
||||||
"/EHsc"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND ABSL_MSVC_FLAGS
|
list(APPEND ABSL_MSVC_FLAGS
|
||||||
"/W3"
|
"/W3"
|
||||||
"/DNOMINMAX"
|
"/DNOMINMAX"
|
||||||
|
@ -227,8 +207,6 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
|
list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
|
||||||
"/O2"
|
|
||||||
"/Ob2"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
|
list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
|
||||||
|
|
|
@ -4,12 +4,6 @@
|
||||||
(2) Run `python <path_to_absl>/copts/generate_copts.py`.
|
(2) Run `python <path_to_absl>/copts/generate_copts.py`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
ABSL_CLANG_CL_EXCEPTIONS_FLAGS = [
|
|
||||||
"/U_HAS_EXCEPTIONS",
|
|
||||||
"/D_HAS_EXCEPTIONS=1",
|
|
||||||
"/EHsc",
|
|
||||||
]
|
|
||||||
|
|
||||||
ABSL_CLANG_CL_FLAGS = [
|
ABSL_CLANG_CL_FLAGS = [
|
||||||
"/W3",
|
"/W3",
|
||||||
"-Wno-c++98-compat-pedantic",
|
"-Wno-c++98-compat-pedantic",
|
||||||
|
@ -81,10 +75,6 @@ ABSL_CLANG_CL_TEST_FLAGS = [
|
||||||
"-Wno-gnu-zero-variadic-macro-arguments",
|
"-Wno-gnu-zero-variadic-macro-arguments",
|
||||||
]
|
]
|
||||||
|
|
||||||
ABSL_GCC_EXCEPTIONS_FLAGS = [
|
|
||||||
"-fexceptions",
|
|
||||||
]
|
|
||||||
|
|
||||||
ABSL_GCC_FLAGS = [
|
ABSL_GCC_FLAGS = [
|
||||||
"-Wall",
|
"-Wall",
|
||||||
"-Wextra",
|
"-Wextra",
|
||||||
|
@ -112,10 +102,6 @@ ABSL_GCC_TEST_FLAGS = [
|
||||||
"-Wno-unused-private-field",
|
"-Wno-unused-private-field",
|
||||||
]
|
]
|
||||||
|
|
||||||
ABSL_LLVM_EXCEPTIONS_FLAGS = [
|
|
||||||
"-fexceptions",
|
|
||||||
]
|
|
||||||
|
|
||||||
ABSL_LLVM_FLAGS = [
|
ABSL_LLVM_FLAGS = [
|
||||||
"-Wall",
|
"-Wall",
|
||||||
"-Wextra",
|
"-Wextra",
|
||||||
|
@ -184,12 +170,6 @@ ABSL_LLVM_TEST_FLAGS = [
|
||||||
"-Wno-gnu-zero-variadic-macro-arguments",
|
"-Wno-gnu-zero-variadic-macro-arguments",
|
||||||
]
|
]
|
||||||
|
|
||||||
ABSL_MSVC_EXCEPTIONS_FLAGS = [
|
|
||||||
"/U_HAS_EXCEPTIONS",
|
|
||||||
"/D_HAS_EXCEPTIONS=1",
|
|
||||||
"/EHsc",
|
|
||||||
]
|
|
||||||
|
|
||||||
ABSL_MSVC_FLAGS = [
|
ABSL_MSVC_FLAGS = [
|
||||||
"/W3",
|
"/W3",
|
||||||
"/DNOMINMAX",
|
"/DNOMINMAX",
|
||||||
|
@ -228,8 +208,6 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
|
||||||
]
|
]
|
||||||
|
|
||||||
ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
|
ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
|
||||||
"/O2",
|
|
||||||
"/Ob2",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
ABSL_RANDOM_HWAES_X64_FLAGS = [
|
ABSL_RANDOM_HWAES_X64_FLAGS = [
|
||||||
|
|
|
@ -6,13 +6,10 @@ change Abseil copts, edit absl/copts/copts.py
|
||||||
|
|
||||||
load(
|
load(
|
||||||
"//absl:copts/GENERATED_copts.bzl",
|
"//absl:copts/GENERATED_copts.bzl",
|
||||||
"ABSL_GCC_EXCEPTIONS_FLAGS",
|
|
||||||
"ABSL_GCC_FLAGS",
|
"ABSL_GCC_FLAGS",
|
||||||
"ABSL_GCC_TEST_FLAGS",
|
"ABSL_GCC_TEST_FLAGS",
|
||||||
"ABSL_LLVM_EXCEPTIONS_FLAGS",
|
|
||||||
"ABSL_LLVM_FLAGS",
|
"ABSL_LLVM_FLAGS",
|
||||||
"ABSL_LLVM_TEST_FLAGS",
|
"ABSL_LLVM_TEST_FLAGS",
|
||||||
"ABSL_MSVC_EXCEPTIONS_FLAGS",
|
|
||||||
"ABSL_MSVC_FLAGS",
|
"ABSL_MSVC_FLAGS",
|
||||||
"ABSL_MSVC_LINKOPTS",
|
"ABSL_MSVC_LINKOPTS",
|
||||||
"ABSL_MSVC_TEST_FLAGS",
|
"ABSL_MSVC_TEST_FLAGS",
|
||||||
|
@ -36,16 +33,6 @@ ABSL_TEST_COPTS = ABSL_DEFAULT_COPTS + select({
|
||||||
"//conditions:default": ABSL_GCC_TEST_FLAGS,
|
"//conditions:default": ABSL_GCC_TEST_FLAGS,
|
||||||
})
|
})
|
||||||
|
|
||||||
ABSL_EXCEPTIONS_FLAG = select({
|
|
||||||
"//absl:windows": ABSL_MSVC_EXCEPTIONS_FLAGS,
|
|
||||||
"//absl:llvm_compiler": ABSL_LLVM_EXCEPTIONS_FLAGS,
|
|
||||||
"//conditions:default": ABSL_GCC_EXCEPTIONS_FLAGS,
|
|
||||||
})
|
|
||||||
|
|
||||||
ABSL_EXCEPTIONS_FLAG_LINKOPTS = select({
|
|
||||||
"//conditions:default": [],
|
|
||||||
})
|
|
||||||
|
|
||||||
ABSL_DEFAULT_LINKOPTS = select({
|
ABSL_DEFAULT_LINKOPTS = select({
|
||||||
"//absl:windows": ABSL_MSVC_LINKOPTS,
|
"//absl:windows": ABSL_MSVC_LINKOPTS,
|
||||||
"//conditions:default": [],
|
"//conditions:default": [],
|
||||||
|
|
|
@ -109,12 +109,6 @@ LLVM_TEST_DISABLE_WARNINGS_FLAGS = [
|
||||||
"-Wno-gnu-zero-variadic-macro-arguments",
|
"-Wno-gnu-zero-variadic-macro-arguments",
|
||||||
]
|
]
|
||||||
|
|
||||||
MSVC_STYLE_EXCEPTIONS_FLAGS = [
|
|
||||||
"/U_HAS_EXCEPTIONS",
|
|
||||||
"/D_HAS_EXCEPTIONS=1",
|
|
||||||
"/EHsc"
|
|
||||||
]
|
|
||||||
|
|
||||||
MSVC_DEFINES = [
|
MSVC_DEFINES = [
|
||||||
"/DNOMINMAX", # Don't define min and max macros (windows.h)
|
"/DNOMINMAX", # Don't define min and max macros (windows.h)
|
||||||
# Don't bloat namespace with incompatible winsock versions.
|
# Don't bloat namespace with incompatible winsock versions.
|
||||||
|
@ -157,18 +151,14 @@ COPT_VARS = {
|
||||||
"-Wno-unused-parameter",
|
"-Wno-unused-parameter",
|
||||||
"-Wno-unused-private-field",
|
"-Wno-unused-private-field",
|
||||||
],
|
],
|
||||||
"ABSL_GCC_EXCEPTIONS_FLAGS": ["-fexceptions"],
|
|
||||||
"ABSL_LLVM_FLAGS":
|
"ABSL_LLVM_FLAGS":
|
||||||
LLVM_BIG_WARNING_FLAGS + LLVM_DISABLE_WARNINGS_FLAGS,
|
LLVM_BIG_WARNING_FLAGS + LLVM_DISABLE_WARNINGS_FLAGS,
|
||||||
"ABSL_LLVM_TEST_FLAGS":
|
"ABSL_LLVM_TEST_FLAGS":
|
||||||
LLVM_TEST_DISABLE_WARNINGS_FLAGS,
|
LLVM_TEST_DISABLE_WARNINGS_FLAGS,
|
||||||
"ABSL_LLVM_EXCEPTIONS_FLAGS": ["-fexceptions"],
|
|
||||||
"ABSL_CLANG_CL_FLAGS":
|
"ABSL_CLANG_CL_FLAGS":
|
||||||
(MSVC_BIG_WARNING_FLAGS + LLVM_DISABLE_WARNINGS_FLAGS + MSVC_DEFINES),
|
(MSVC_BIG_WARNING_FLAGS + LLVM_DISABLE_WARNINGS_FLAGS + MSVC_DEFINES),
|
||||||
"ABSL_CLANG_CL_TEST_FLAGS":
|
"ABSL_CLANG_CL_TEST_FLAGS":
|
||||||
LLVM_TEST_DISABLE_WARNINGS_FLAGS,
|
LLVM_TEST_DISABLE_WARNINGS_FLAGS,
|
||||||
"ABSL_CLANG_CL_EXCEPTIONS_FLAGS":
|
|
||||||
MSVC_STYLE_EXCEPTIONS_FLAGS,
|
|
||||||
"ABSL_MSVC_FLAGS":
|
"ABSL_MSVC_FLAGS":
|
||||||
MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES + [
|
MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES + [
|
||||||
# Increase the number of sections available in object files
|
# Increase the number of sections available in object files
|
||||||
|
@ -193,8 +183,6 @@ COPT_VARS = {
|
||||||
"/wd4996", # use of deprecated symbol
|
"/wd4996", # use of deprecated symbol
|
||||||
"/DNOMINMAX", # disable the min() and max() macros from <windows.h>
|
"/DNOMINMAX", # disable the min() and max() macros from <windows.h>
|
||||||
],
|
],
|
||||||
"ABSL_MSVC_EXCEPTIONS_FLAGS":
|
|
||||||
MSVC_STYLE_EXCEPTIONS_FLAGS,
|
|
||||||
"ABSL_MSVC_LINKOPTS": [
|
"ABSL_MSVC_LINKOPTS": [
|
||||||
# Object file doesn't export any previously undefined symbols
|
# Object file doesn't export any previously undefined symbols
|
||||||
"-ignore:4221",
|
"-ignore:4221",
|
||||||
|
@ -209,8 +197,5 @@ COPT_VARS = {
|
||||||
"-maes",
|
"-maes",
|
||||||
"-msse4.1",
|
"-msse4.1",
|
||||||
],
|
],
|
||||||
"ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [
|
"ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [],
|
||||||
"/O2", # Maximize speed
|
|
||||||
"/Ob2", # Aggressive inlining
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright 2018 The Abseil Authors.
|
# Copyright 2019 The Abseil Authors.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright 2017 The Abseil Authors.
|
# Copyright 2019 The Abseil Authors.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
|
@ -19,8 +19,6 @@ load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_DEFAULT_LINKOPTS",
|
"ABSL_DEFAULT_LINKOPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -56,10 +54,11 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"memory_exception_safety_test.cc",
|
"memory_exception_safety_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":memory",
|
":memory",
|
||||||
|
"//absl/base:config",
|
||||||
"//absl/base:exception_safety_testing",
|
"//absl/base:exception_safety_testing",
|
||||||
"@com_google_googletest//:gtest_main",
|
"@com_google_googletest//:gtest_main",
|
||||||
],
|
],
|
||||||
|
|
|
@ -47,11 +47,9 @@ absl_cc_test(
|
||||||
"memory_exception_safety_test.cc"
|
"memory_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::memory
|
absl::memory
|
||||||
|
absl::config
|
||||||
absl::exception_safety_testing
|
absl::exception_safety_testing
|
||||||
gmock_main
|
gmock_main
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
|
|
||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
|
|
||||||
|
#include "absl/base/config.h"
|
||||||
|
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
#include "absl/base/internal/exception_safety_testing.h"
|
#include "absl/base/internal/exception_safety_testing.h"
|
||||||
|
|
||||||
|
@ -50,3 +54,5 @@ TEST(MakeUnique, CheckForLeaks) {
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace absl
|
} // namespace absl
|
||||||
|
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
|
|
|
@ -21,8 +21,6 @@ load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_DEFAULT_LINKOPTS",
|
"ABSL_DEFAULT_LINKOPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -87,8 +85,8 @@ cc_library(
|
||||||
name = "seed_gen_exception",
|
name = "seed_gen_exception",
|
||||||
srcs = ["seed_gen_exception.cc"],
|
srcs = ["seed_gen_exception.cc"],
|
||||||
hdrs = ["seed_gen_exception.h"],
|
hdrs = ["seed_gen_exception.h"],
|
||||||
copts = ABSL_DEFAULT_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = ["//absl/base:config"],
|
deps = ["//absl/base:config"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -79,9 +79,7 @@ absl_cc_library(
|
||||||
"seed_gen_exception.h"
|
"seed_gen_exception.h"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_DEFAULT_COPTS}
|
${ABSL_DEFAULT_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
LINKOPTS
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
${ABSL_DEFAULT_LINKOPTS}
|
${ABSL_DEFAULT_LINKOPTS}
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
|
|
|
@ -55,9 +55,7 @@ cc_library(
|
||||||
|
|
||||||
cc_library(
|
cc_library(
|
||||||
name = "distributions",
|
name = "distributions",
|
||||||
hdrs = [
|
hdrs = ["distributions.h"],
|
||||||
"distributions.h",
|
|
||||||
],
|
|
||||||
copts = ABSL_DEFAULT_COPTS,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
|
|
@ -17,8 +17,6 @@ load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
|
||||||
load(
|
load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -237,8 +235,7 @@ cc_test(
|
||||||
name = "string_view_test",
|
name = "string_view_test",
|
||||||
size = "small",
|
size = "small",
|
||||||
srcs = ["string_view_test.cc"],
|
srcs = ["string_view_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS,
|
|
||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
deps = [
|
deps = [
|
||||||
":strings",
|
":strings",
|
||||||
|
|
|
@ -161,9 +161,6 @@ absl_cc_test(
|
||||||
"string_view_test.cc"
|
"string_view_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::strings
|
absl::strings
|
||||||
absl::config
|
absl::config
|
||||||
|
|
|
@ -269,10 +269,22 @@ class string_view {
|
||||||
|
|
||||||
// string_view::operator[]
|
// string_view::operator[]
|
||||||
//
|
//
|
||||||
// Returns the ith element of an `string_view` using the array operator.
|
// Returns the ith element of the `string_view` using the array operator.
|
||||||
// Note that this operator does not perform any bounds checking.
|
// Note that this operator does not perform any bounds checking.
|
||||||
constexpr const_reference operator[](size_type i) const { return ptr_[i]; }
|
constexpr const_reference operator[](size_type i) const { return ptr_[i]; }
|
||||||
|
|
||||||
|
// string_view::at()
|
||||||
|
//
|
||||||
|
// Returns the ith element of the `string_view`. Bounds checking is performed,
|
||||||
|
// and an exception of type `std::out_of_range` will be thrown on invalid
|
||||||
|
// access.
|
||||||
|
constexpr const_reference at(size_type i) const {
|
||||||
|
return ABSL_PREDICT_TRUE(i < size())
|
||||||
|
? ptr_[i]
|
||||||
|
: (base_internal::ThrowStdOutOfRange("absl::string_view::at"),
|
||||||
|
ptr_[i]);
|
||||||
|
}
|
||||||
|
|
||||||
// string_view::front()
|
// string_view::front()
|
||||||
//
|
//
|
||||||
// Returns the first element of a `string_view`.
|
// Returns the first element of a `string_view`.
|
||||||
|
|
|
@ -29,7 +29,8 @@
|
||||||
#include "absl/base/config.h"
|
#include "absl/base/config.h"
|
||||||
#include "absl/base/dynamic_annotations.h"
|
#include "absl/base/dynamic_annotations.h"
|
||||||
|
|
||||||
#ifdef __ANDROID__
|
#if defined(ABSL_HAVE_STD_STRING_VIEW) || defined(__ANDROID__)
|
||||||
|
// We don't control the death messaging when using std::string_view.
|
||||||
// Android assert messages only go to system log, so death tests cannot inspect
|
// Android assert messages only go to system log, so death tests cannot inspect
|
||||||
// the message for matching.
|
// the message for matching.
|
||||||
#define ABSL_EXPECT_DEATH_IF_SUPPORTED(statement, regex) \
|
#define ABSL_EXPECT_DEATH_IF_SUPPORTED(statement, regex) \
|
||||||
|
@ -372,7 +373,7 @@ TEST(StringViewTest, STL1) {
|
||||||
#ifdef ABSL_HAVE_EXCEPTIONS
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
EXPECT_THROW(a.copy(buf, 1, 27), std::out_of_range);
|
EXPECT_THROW(a.copy(buf, 1, 27), std::out_of_range);
|
||||||
#else
|
#else
|
||||||
EXPECT_DEATH(a.copy(buf, 1, 27), "absl::string_view::copy");
|
ABSL_EXPECT_DEATH_IF_SUPPORTED(a.copy(buf, 1, 27), "absl::string_view::copy");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -686,7 +687,8 @@ TEST(StringViewTest, STL2Substr) {
|
||||||
#ifdef ABSL_HAVE_EXCEPTIONS
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
EXPECT_THROW((void)a.substr(99, 2), std::out_of_range);
|
EXPECT_THROW((void)a.substr(99, 2), std::out_of_range);
|
||||||
#else
|
#else
|
||||||
EXPECT_DEATH((void)a.substr(99, 2), "absl::string_view::substr");
|
ABSL_EXPECT_DEATH_IF_SUPPORTED((void)a.substr(99, 2),
|
||||||
|
"absl::string_view::substr");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -894,6 +896,18 @@ TEST(StringViewTest, Comparisons2) {
|
||||||
EXPECT_LT(digits.compare(0, npos, "0123456789", 3, 5), 0); // 6
|
EXPECT_LT(digits.compare(0, npos, "0123456789", 3, 5), 0); // 6
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(StringViewTest, At) {
|
||||||
|
absl::string_view abc = "abc";
|
||||||
|
EXPECT_EQ(abc.at(0), 'a');
|
||||||
|
EXPECT_EQ(abc.at(1), 'b');
|
||||||
|
EXPECT_EQ(abc.at(2), 'c');
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
EXPECT_THROW(abc.at(3), std::out_of_range);
|
||||||
|
#else
|
||||||
|
ABSL_EXPECT_DEATH_IF_SUPPORTED(abc.at(3), "absl::string_view::at");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
struct MyCharAlloc : std::allocator<char> {};
|
struct MyCharAlloc : std::allocator<char> {};
|
||||||
|
|
||||||
TEST(StringViewTest, ExplicitConversionOperator) {
|
TEST(StringViewTest, ExplicitConversionOperator) {
|
||||||
|
|
|
@ -19,8 +19,6 @@ load(
|
||||||
"//absl:copts/configure_copts.bzl",
|
"//absl:copts/configure_copts.bzl",
|
||||||
"ABSL_DEFAULT_COPTS",
|
"ABSL_DEFAULT_COPTS",
|
||||||
"ABSL_DEFAULT_LINKOPTS",
|
"ABSL_DEFAULT_LINKOPTS",
|
||||||
"ABSL_EXCEPTIONS_FLAG",
|
|
||||||
"ABSL_EXCEPTIONS_FLAG_LINKOPTS",
|
|
||||||
"ABSL_TEST_COPTS",
|
"ABSL_TEST_COPTS",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -59,8 +57,8 @@ cc_library(
|
||||||
"bad_any_cast.cc",
|
"bad_any_cast.cc",
|
||||||
"bad_any_cast.h",
|
"bad_any_cast.h",
|
||||||
],
|
],
|
||||||
copts = ABSL_EXCEPTIONS_FLAG + ABSL_DEFAULT_COPTS,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
visibility = ["//visibility:private"],
|
visibility = ["//visibility:private"],
|
||||||
deps = [
|
deps = [
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
@ -74,24 +72,6 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"any_test.cc",
|
"any_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
|
||||||
deps = [
|
|
||||||
":any",
|
|
||||||
"//absl/base:config",
|
|
||||||
"//absl/base:exception_testing",
|
|
||||||
"//absl/base:raw_logging_internal",
|
|
||||||
"//absl/container:test_instance_tracker",
|
|
||||||
"@com_google_googletest//:gtest_main",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
cc_test(
|
|
||||||
name = "any_test_noexceptions",
|
|
||||||
size = "small",
|
|
||||||
srcs = [
|
|
||||||
"any_test.cc",
|
|
||||||
],
|
|
||||||
copts = ABSL_TEST_COPTS,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
@ -107,8 +87,8 @@ cc_test(
|
||||||
cc_test(
|
cc_test(
|
||||||
name = "any_exception_safety_test",
|
name = "any_exception_safety_test",
|
||||||
srcs = ["any_exception_safety_test.cc"],
|
srcs = ["any_exception_safety_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":any",
|
":any",
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
@ -139,25 +119,6 @@ cc_test(
|
||||||
name = "span_test",
|
name = "span_test",
|
||||||
size = "small",
|
size = "small",
|
||||||
srcs = ["span_test.cc"],
|
srcs = ["span_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
|
||||||
deps = [
|
|
||||||
":span",
|
|
||||||
"//absl/base:config",
|
|
||||||
"//absl/base:core_headers",
|
|
||||||
"//absl/base:exception_testing",
|
|
||||||
"//absl/container:fixed_array",
|
|
||||||
"//absl/container:inlined_vector",
|
|
||||||
"//absl/hash:hash_testing",
|
|
||||||
"//absl/strings",
|
|
||||||
"@com_google_googletest//:gtest_main",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
cc_test(
|
|
||||||
name = "span_test_noexceptions",
|
|
||||||
size = "small",
|
|
||||||
srcs = ["span_test.cc"],
|
|
||||||
copts = ABSL_TEST_COPTS,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
@ -194,8 +155,8 @@ cc_library(
|
||||||
name = "bad_optional_access",
|
name = "bad_optional_access",
|
||||||
srcs = ["bad_optional_access.cc"],
|
srcs = ["bad_optional_access.cc"],
|
||||||
hdrs = ["bad_optional_access.h"],
|
hdrs = ["bad_optional_access.h"],
|
||||||
copts = ABSL_DEFAULT_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
"//absl/base:raw_logging_internal",
|
"//absl/base:raw_logging_internal",
|
||||||
|
@ -206,8 +167,8 @@ cc_library(
|
||||||
name = "bad_variant_access",
|
name = "bad_variant_access",
|
||||||
srcs = ["bad_variant_access.cc"],
|
srcs = ["bad_variant_access.cc"],
|
||||||
hdrs = ["bad_variant_access.h"],
|
hdrs = ["bad_variant_access.h"],
|
||||||
copts = ABSL_EXCEPTIONS_FLAG + ABSL_DEFAULT_COPTS,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
"//absl/base:raw_logging_internal",
|
"//absl/base:raw_logging_internal",
|
||||||
|
@ -220,8 +181,8 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"optional_test.cc",
|
"optional_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":optional",
|
":optional",
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
@ -237,8 +198,8 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"optional_exception_safety_test.cc",
|
"optional_exception_safety_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":optional",
|
":optional",
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
@ -267,8 +228,8 @@ cc_test(
|
||||||
name = "variant_test",
|
name = "variant_test",
|
||||||
size = "small",
|
size = "small",
|
||||||
srcs = ["variant_test.cc"],
|
srcs = ["variant_test.cc"],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":variant",
|
":variant",
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
@ -301,8 +262,8 @@ cc_test(
|
||||||
srcs = [
|
srcs = [
|
||||||
"variant_exception_safety_test.cc",
|
"variant_exception_safety_test.cc",
|
||||||
],
|
],
|
||||||
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
copts = ABSL_TEST_COPTS,
|
||||||
linkopts = ABSL_EXCEPTIONS_FLAG_LINKOPTS + ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
":variant",
|
":variant",
|
||||||
"//absl/base:config",
|
"//absl/base:config",
|
||||||
|
|
|
@ -50,9 +50,6 @@ absl_cc_library(
|
||||||
"bad_any_cast.cc"
|
"bad_any_cast.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_DEFAULT_COPTS}
|
${ABSL_DEFAULT_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
absl::raw_logging_internal
|
absl::raw_logging_internal
|
||||||
|
@ -65,9 +62,6 @@ absl_cc_test(
|
||||||
"any_test.cc"
|
"any_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::any
|
absl::any
|
||||||
absl::config
|
absl::config
|
||||||
|
@ -100,9 +94,6 @@ absl_cc_test(
|
||||||
"any_exception_safety_test.cc"
|
"any_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::any
|
absl::any
|
||||||
absl::config
|
absl::config
|
||||||
|
@ -134,9 +125,6 @@ absl_cc_test(
|
||||||
"span_test.cc"
|
"span_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::span
|
absl::span
|
||||||
absl::base
|
absl::base
|
||||||
|
@ -199,9 +187,6 @@ absl_cc_library(
|
||||||
"bad_optional_access.cc"
|
"bad_optional_access.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_DEFAULT_COPTS}
|
${ABSL_DEFAULT_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
absl::raw_logging_internal
|
absl::raw_logging_internal
|
||||||
|
@ -217,9 +202,6 @@ absl_cc_library(
|
||||||
"bad_variant_access.cc"
|
"bad_variant_access.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_DEFAULT_COPTS}
|
${ABSL_DEFAULT_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::config
|
absl::config
|
||||||
absl::raw_logging_internal
|
absl::raw_logging_internal
|
||||||
|
@ -233,9 +215,6 @@ absl_cc_test(
|
||||||
"optional_test.cc"
|
"optional_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::optional
|
absl::optional
|
||||||
absl::config
|
absl::config
|
||||||
|
@ -252,9 +231,6 @@ absl_cc_test(
|
||||||
"optional_exception_safety_test.cc"
|
"optional_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::optional
|
absl::optional
|
||||||
absl::config
|
absl::config
|
||||||
|
@ -288,9 +264,6 @@ absl_cc_test(
|
||||||
"variant_test.cc"
|
"variant_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::variant
|
absl::variant
|
||||||
absl::config
|
absl::config
|
||||||
|
@ -337,9 +310,6 @@ absl_cc_test(
|
||||||
"variant_exception_safety_test.cc"
|
"variant_exception_safety_test.cc"
|
||||||
COPTS
|
COPTS
|
||||||
${ABSL_TEST_COPTS}
|
${ABSL_TEST_COPTS}
|
||||||
${ABSL_EXCEPTIONS_FLAG}
|
|
||||||
LINKOPTS
|
|
||||||
${ABSL_EXCEPTIONS_FLAG_LINKOPTS}
|
|
||||||
DEPS
|
DEPS
|
||||||
absl::variant
|
absl::variant
|
||||||
absl::config
|
absl::config
|
||||||
|
|
|
@ -1042,8 +1042,6 @@ TEST(VariantTest, MemberSwap) {
|
||||||
using V = variant<MoveCanThrow, std::string, int>;
|
using V = variant<MoveCanThrow, std::string, int>;
|
||||||
int i = 33;
|
int i = 33;
|
||||||
std::string s = "abc";
|
std::string s = "abc";
|
||||||
V valueless(in_place_index<0>);
|
|
||||||
ToValuelessByException(valueless);
|
|
||||||
{
|
{
|
||||||
// lhs and rhs holds different alternative
|
// lhs and rhs holds different alternative
|
||||||
V lhs(i), rhs(s);
|
V lhs(i), rhs(s);
|
||||||
|
@ -1051,6 +1049,9 @@ TEST(VariantTest, MemberSwap) {
|
||||||
EXPECT_THAT(lhs, VariantWith<std::string>(s));
|
EXPECT_THAT(lhs, VariantWith<std::string>(s));
|
||||||
EXPECT_THAT(rhs, VariantWith<int>(i));
|
EXPECT_THAT(rhs, VariantWith<int>(i));
|
||||||
}
|
}
|
||||||
|
#ifdef ABSL_HAVE_EXCEPTIONS
|
||||||
|
V valueless(in_place_index<0>);
|
||||||
|
ToValuelessByException(valueless);
|
||||||
{
|
{
|
||||||
// lhs is valueless
|
// lhs is valueless
|
||||||
V lhs(valueless), rhs(i);
|
V lhs(valueless), rhs(i);
|
||||||
|
@ -1072,6 +1073,7 @@ TEST(VariantTest, MemberSwap) {
|
||||||
EXPECT_TRUE(lhs.valueless_by_exception());
|
EXPECT_TRUE(lhs.valueless_by_exception());
|
||||||
EXPECT_TRUE(rhs.valueless_by_exception());
|
EXPECT_TRUE(rhs.valueless_by_exception());
|
||||||
}
|
}
|
||||||
|
#endif // ABSL_HAVE_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////
|
//////////////////////
|
||||||
|
|
|
@ -28,7 +28,9 @@ licenses(["notice"]) # Apache 2.0
|
||||||
|
|
||||||
cc_library(
|
cc_library(
|
||||||
name = "utility",
|
name = "utility",
|
||||||
hdrs = ["utility.h"],
|
hdrs = [
|
||||||
|
"utility.h",
|
||||||
|
],
|
||||||
copts = ABSL_DEFAULT_COPTS,
|
copts = ABSL_DEFAULT_COPTS,
|
||||||
linkopts = ABSL_DEFAULT_LINKOPTS,
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
||||||
deps = [
|
deps = [
|
||||||
|
|
Loading…
Reference in a new issue