diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake index 650f171e4..e4eafe49e 100644 --- a/CMake/AbseilHelpers.cmake +++ b/CMake/AbseilHelpers.cmake @@ -54,8 +54,8 @@ function(absl_library) PUBLIC ${ABSL_COMMON_INCLUDE_DIRS} ${ABSL_LIB_PUBLIC_INCLUDE_DIRS} PRIVATE ${ABSL_LIB_PRIVATE_INCLUDE_DIRS} ) -# Add all Abseil targets to a a folder in the IDE for organization. -set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}) + # Add all Abseil targets to a a folder in the IDE for organization. + set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}) if(ABSL_LIB_EXPORT_NAME) add_library(absl::${ABSL_LIB_EXPORT_NAME} ALIAS ${_NAME}) @@ -99,8 +99,9 @@ function(absl_header_library) PUBLIC ${ABSL_COMMON_INCLUDE_DIRS} ${ABSL_HO_LIB_PUBLIC_INCLUDE_DIRS} PRIVATE ${ABSL_HO_LIB_PRIVATE_INCLUDE_DIRS} ) -# Add all Abseil targets to a a folder in the IDE for organization. -set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}) + + # Add all Abseil targets to a a folder in the IDE for organization. + set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}) if(ABSL_HO_LIB_EXPORT_NAME) add_library(absl::${ABSL_HO_LIB_EXPORT_NAME} ALIAS ${_NAME}) @@ -147,8 +148,9 @@ function(absl_test) PUBLIC ${ABSL_COMMON_INCLUDE_DIRS} ${ABSL_TEST_PUBLIC_INCLUDE_DIRS} PRIVATE ${GMOCK_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS} ) -# Add all Abseil targets to a a folder in the IDE for organization. -set_property(TARGET ${_NAME}_bin PROPERTY FOLDER ${ABSL_IDE_FOLDER}) + + # Add all Abseil targets to a a folder in the IDE for organization. + set_property(TARGET ${_NAME}_bin PROPERTY FOLDER ${ABSL_IDE_FOLDER}) add_test(${_NAME} ${_NAME}_bin) endif(BUILD_TESTING) diff --git a/absl/algorithm/BUILD.bazel b/absl/algorithm/BUILD.bazel index 5cd549602..3b24ce120 100644 --- a/absl/algorithm/BUILD.bazel +++ b/absl/algorithm/BUILD.bazel @@ -41,11 +41,11 @@ cc_test( ], ) -cc_binary( +cc_test( name = "algorithm_benchmark", - testonly = 1, srcs = ["equal_benchmark.cc"], copts = ABSL_TEST_COPTS, + tags = ["benchmark"], deps = [ ":algorithm", "//absl/base:core_headers", diff --git a/absl/algorithm/equal_benchmark.cc b/absl/algorithm/equal_benchmark.cc index fea6d1376..9af36ce79 100644 --- a/absl/algorithm/equal_benchmark.cc +++ b/absl/algorithm/equal_benchmark.cc @@ -15,8 +15,8 @@ #include #include -#include "absl/algorithm/algorithm.h" #include "benchmark/benchmark.h" +#include "absl/algorithm/algorithm.h" namespace { diff --git a/absl/base/BUILD.bazel b/absl/base/BUILD.bazel index bb7a59817..5c05c6783 100644 --- a/absl/base/BUILD.bazel +++ b/absl/base/BUILD.bazel @@ -406,11 +406,11 @@ cc_test( ], ) -cc_binary( +cc_test( name = "thread_identity_benchmark", - testonly = 1, srcs = ["internal/thread_identity_benchmark.cc"], copts = ABSL_TEST_COPTS, + tags = ["benchmark"], visibility = ["//visibility:private"], deps = [ ":base", diff --git a/absl/base/attributes.h b/absl/base/attributes.h index a4ec7e7c9..b1883b6d7 100644 --- a/absl/base/attributes.h +++ b/absl/base/attributes.h @@ -52,7 +52,8 @@ // Example: // // // Enable branches in the Abseil code that are tagged for ASan: -// $ bazel -D ADDRESS_SANITIZER -fsanitize=address *target* +// $ bazel build --copt=-DADDRESS_SANITIZER --copt=-fsanitize=address +// --linkopt=-fsanitize=address *target* // // Since these macro names are only supported by GCC and Clang, we only check // for `__GNUC__` (GCC or Clang) and the above macros. diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h index 4bd273ed7..2fe345fc8 100644 --- a/absl/base/internal/direct_mmap.h +++ b/absl/base/internal/direct_mmap.h @@ -52,7 +52,7 @@ // SYS_mmap and SYS_munmap are not defined in Android. #ifdef __BIONIC__ -extern "C" void* __mmap2(void*, size_t, int, int, int, long); +extern "C" void* __mmap2(void*, size_t, int, int, int, size_t); #if defined(__NR_mmap) && !defined(SYS_mmap) #define SYS_mmap __NR_mmap #endif diff --git a/absl/base/internal/thread_identity_benchmark.cc b/absl/base/internal/thread_identity_benchmark.cc index 3ae57317e..fe22e4cff 100644 --- a/absl/base/internal/thread_identity_benchmark.cc +++ b/absl/base/internal/thread_identity_benchmark.cc @@ -12,10 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include "benchmark/benchmark.h" #include "absl/base/internal/thread_identity.h" #include "absl/synchronization/internal/create_thread_identity.h" #include "absl/synchronization/internal/per_thread_sem.h" -#include "benchmark/benchmark.h" namespace { diff --git a/absl/container/BUILD.bazel b/absl/container/BUILD.bazel index 69cd5195d..303410834 100644 --- a/absl/container/BUILD.bazel +++ b/absl/container/BUILD.bazel @@ -62,11 +62,11 @@ cc_test( ], ) -cc_binary( +cc_test( name = "fixed_array_benchmark", - testonly = 1, srcs = ["fixed_array_benchmark.cc"], copts = ABSL_TEST_COPTS + ["$(STACK_FRAME_UNLIMITED)"], + tags = ["benchmark"], deps = [ ":fixed_array", "@com_github_google_benchmark//:benchmark", @@ -117,11 +117,11 @@ cc_test( ], ) -cc_binary( +cc_test( name = "inlined_vector_benchmark", - testonly = 1, srcs = ["inlined_vector_benchmark.cc"], copts = ABSL_TEST_COPTS, + tags = ["benchmark"], deps = [ ":inlined_vector", "//absl/base", diff --git a/absl/container/inlined_vector_benchmark.cc b/absl/container/inlined_vector_benchmark.cc index a2035e35c..c6bc5cd96 100644 --- a/absl/container/inlined_vector_benchmark.cc +++ b/absl/container/inlined_vector_benchmark.cc @@ -17,9 +17,9 @@ #include #include +#include "benchmark/benchmark.h" #include "absl/base/internal/raw_logging.h" #include "absl/strings/str_cat.h" -#include "benchmark/benchmark.h" namespace { diff --git a/absl/debugging/failure_signal_handler_test.cc b/absl/debugging/failure_signal_handler_test.cc index 33170dab1..ba520910f 100644 --- a/absl/debugging/failure_signal_handler_test.cc +++ b/absl/debugging/failure_signal_handler_test.cc @@ -132,8 +132,17 @@ constexpr int kFailureSignals[] = { #endif }; +std::string SignalParamToString(const ::testing::TestParamInfo& info) { + std::string result = absl::debugging_internal::FailureSignalToString(info.param); + if (result.empty()) { + result = absl::StrCat(info.param); + } + return result; +} + INSTANTIATE_TEST_CASE_P(AbslDeathTest, FailureSignalHandlerDeathTest, - ::testing::ValuesIn(kFailureSignals)); + ::testing::ValuesIn(kFailureSignals), + SignalParamToString); #endif // GTEST_HAS_DEATH_TEST diff --git a/absl/strings/match.h b/absl/strings/match.h index 6005533c9..108b6048b 100644 --- a/absl/strings/match.h +++ b/absl/strings/match.h @@ -43,8 +43,7 @@ namespace absl { // // Returns whether a given std::string `haystack` contains the substring `needle`. inline bool StrContains(absl::string_view haystack, absl::string_view needle) { - return static_cast(haystack.find(needle, 0)) != - haystack.npos; + return haystack.find(needle, 0) != haystack.npos; } // StartsWith() diff --git a/absl/types/optional.h b/absl/types/optional.h index 42068cca4..80a2d149f 100644 --- a/absl/types/optional.h +++ b/absl/types/optional.h @@ -820,6 +820,12 @@ class optional : private optional_internal::optional_data, // only if `*this` is empty. constexpr bool has_value() const noexcept { return this->engaged_; } +// Suppress bogus warning on MSVC: MSVC complains call to reference() after +// throw_bad_optional_access() is unreachable. +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4702) +#endif // _MSC_VER // optional::value() // // Returns a reference to an `optional`s underlying value. The constness @@ -848,6 +854,9 @@ class optional : private optional_internal::optional_data, ? reference() : (optional_internal::throw_bad_optional_access(), reference())); } +#ifdef _MSC_VER +#pragma warning(pop) +#endif // _MSC_VER // optional::value_or() //