about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CMake/AbseilHelpers.cmake14
-rw-r--r--absl/algorithm/BUILD.bazel4
-rw-r--r--absl/algorithm/equal_benchmark.cc2
-rw-r--r--absl/base/BUILD.bazel4
-rw-r--r--absl/base/attributes.h3
-rw-r--r--absl/base/internal/direct_mmap.h2
-rw-r--r--absl/base/internal/thread_identity_benchmark.cc2
-rw-r--r--absl/container/BUILD.bazel8
-rw-r--r--absl/container/inlined_vector_benchmark.cc2
-rw-r--r--absl/debugging/failure_signal_handler_test.cc11
-rw-r--r--absl/strings/match.h3
-rw-r--r--absl/types/optional.h9
12 files changed, 42 insertions, 22 deletions
diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
index 650f171e49..e4eafe49e4 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 5cd5496027..3b24ce1202 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 fea6d13766..9af36ce79f 100644
--- a/absl/algorithm/equal_benchmark.cc
+++ b/absl/algorithm/equal_benchmark.cc
@@ -15,8 +15,8 @@
 #include <cstdint>
 #include <cstring>
 
-#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 bb7a598177..5c05c67831 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 a4ec7e7c97..b1883b6d75 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 4bd273ed7e..2fe345fc85 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 3ae57317ea..fe22e4cff1 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 69cd5195dc..303410834b 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 a2035e35ca..c6bc5cd96d 100644
--- a/absl/container/inlined_vector_benchmark.cc
+++ b/absl/container/inlined_vector_benchmark.cc
@@ -17,9 +17,9 @@
 #include <string>
 #include <vector>
 
+#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 33170dab19..ba520910f4 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<int>& 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 6005533c99..108b6048b0 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<absl::string_view::size_type>(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 42068cca43..80a2d149fc 100644
--- a/absl/types/optional.h
+++ b/absl/types/optional.h
@@ -820,6 +820,12 @@ class optional : private optional_internal::optional_data<T>,
   // 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<T>,
             ? reference()
             : (optional_internal::throw_bad_optional_access(), reference()));
   }
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif  // _MSC_VER
 
   // optional::value_or()
   //