Changes imported from Abseil "staging" branch:
- 432508bf64998983b3c194d5f164872ce3c2e573 Put visibility tags into absl external build files by Jon Cohen <cohenjon@google.com> - 25d59d11e7b833fe632cddb5bf4d76075ae6282b Use ABSL_PREDICT_TRUE instead of *FALSE for the range che... by Jon Cohen <cohenjon@google.com> - 8d8a5890a55ddd19aac849748441eeb57c684f10 Better detection for MSVC support on std::optional. by Xiaoyi Zhang <zhangxy@google.com> - c1b31e4a97939885c3bbc23ecb093e9619e73ad1 Internal cleanup by Gennadiy Rozental <rogeeff@google.com> - 4f56ad20c4eeccc6f5fb21ec6c7191233d34a090 Internal change. by Matt Calabrese <calabrese@google.com> - d2a02b52c75c295708170f4d17b7ff442c8d6a97 Fixed a minor typo in the SimpleAtob() function comment. by Abseil Team <absl-team@google.com> - 5adbff5c23a45278d06de2ef3a29ea51b0d1269e Internal cleanup by Gennadiy Rozental <rogeeff@google.com> GitOrigin-RevId: 432508bf64998983b3c194d5f164872ce3c2e573 Change-Id: I32ddd151d3350b96a22e8f1830f19b59374953ad
This commit is contained in:
parent
1a9ba5e2e5
commit
6de53819a7
13 changed files with 75 additions and 16 deletions
|
@ -270,8 +270,17 @@ TEST(optionalTest, CopyConstructor) {
|
|||
EXPECT_TRUE(absl::is_trivially_copy_constructible<
|
||||
absl::optional<const TrivialCopyable>>::value);
|
||||
#endif
|
||||
// When testing with VS 2017 15.3, there seems to be a bug in MSVC
|
||||
// std::optional when T is volatile-qualified. So skipping this test.
|
||||
// Bug report:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/3142534
|
||||
#if defined(ABSL_HAVE_STD_OPTIONAL) && defined(_MSC_VER) && _MSC_VER >= 1911
|
||||
#define ABSL_MSVC_OPTIONAL_VOLATILE_COPY_BUG 1
|
||||
#endif
|
||||
#ifndef ABSL_MSVC_OPTIONAL_VOLATILE_COPY_BUG
|
||||
EXPECT_FALSE(std::is_copy_constructible<
|
||||
absl::optional<volatile TrivialCopyable>>::value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -378,7 +378,7 @@ class Span {
|
|||
//
|
||||
// Returns a reference to the i'th element of this span.
|
||||
constexpr reference at(size_type i) const {
|
||||
return ABSL_PREDICT_FALSE(i < size())
|
||||
return ABSL_PREDICT_TRUE(i < size())
|
||||
? ptr_[i]
|
||||
: (base_internal::ThrowStdOutOfRange(
|
||||
"Span::at failed bounds check"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue