diff options
author | Abseil Team <absl-team@google.com> | 2021-03-17 20:08:11 -0700 |
---|---|---|
committer | Dino Radaković <dinor@google.com> | 2021-03-18 08:44:23 -0700 |
commit | dcf4899377ca63246efb17f5468c40913855777c (patch) | |
tree | 65a6ae9798857f7197b650448a31824175c74ad0 /absl/status | |
parent | 2e9532cc6c701a8323d0cffb468999ab804095ab (diff) |
Export of internal Abseil changes
--
8e75347c10d85112296811be6ef35761744ad9bc by Derek Mauro <dmauro@google.com>:
Big update to LTS release process
* Add create_lts.py script to to the LTS modification
This is simpler than copybara since very few changes are needed
* Use the default installation paths instead of a versioned path.
If a versioned path is needed, this is easy to change on the commandline.
* Make the integration test use the LTS transformed version
* Test both static and dynamic linking (fixes pkg-config dynamic linking)
PiperOrigin-RevId: 363566934
--
e00e971a2de3138861f5e1900201c9cc7788f714 by Laramie Leavitt <lar@google.com>:
Add a non-compile test to absl::BitGenRef for temporaries.
PiperOrigin-RevId: 363437284
--
3685644ec115d99789de32aceb76c32a00756fea by Derek Mauro <dmauro@google.com>:
Make OSS code consistent with internal code by using the forward
declaration of absl::Status that contains ABSL_MUST_USE_RESULT.
PiperOrigin-RevId: 363426906
--
b85fec142c3aa3f632fa985f9f8f73a253819723 by Evan Brown <ezb@google.com>:
Move raw_hash_set::infoz_ into raw_hash_set::settings_. This reduces the size of raw_hash_sets by alignof(size_t) bytes when hashtablez is disabled.
PiperOrigin-RevId: 363034264
--
c6fde3b17e5845191eb8b2bfc1760c8bfb9573ff by Mark Barolak <mbar@google.com>:
Internal change
PiperOrigin-RevId: 362990378
--
81713cf964905b43d1cbe32ce5fed97539029625 by Abseil Team <absl-team@google.com>:
Fix typo in comment (execeptions -> exceptions).
PiperOrigin-RevId: 362946191
--
3ee92ca470feca44da417b03ee45a915c6eb5155 by Abseil Team <absl-team@google.com>:
Add absl::FindAndReportLeaks and routes it to the corresponding
__lsan_do_recoverable_leak_check.
PiperOrigin-RevId: 362622199
--
b95b7194b20e02c20d72289fbc79a0d35b82e256 by Abseil Team <absl-team@google.com>:
Add `kWithEverything` to StatusToStringMode
PiperOrigin-RevId: 362595218
--
0a960d96a0014eab7e1c55b479269450ed8e98d7 by Abseil Team <absl-team@google.com>:
Accept e.g. ".__uniq" as a valid clone name. Further, bring the implementation
on par with libiberty's demangler grammar.
Clang introduced option -funique-internal-linkage-names that adds the suffix
".__uniq.[0-9]+" to internal linkage functions to give them a globally unique
identifier. The suffix was designed to work with existing demanglers which do
recognize a "_" along with the alphanumeric string. This change enhances the
demangler to allow "_" with the alphanumeric string.
Please refer to libiberty's cp-demangle.c where function d_clone_suffix
implements the demangling of clone suffixes :
1. '_' is accepted as a valid character with the alphanumeric sequence.
2. The alphanumberic sequence is optional.
3. The digit sequence is optional.
PiperOrigin-RevId: 362557420
--
2ac5ea212c150afd2f58025a5cab8c45d16949c6 by Abseil Team <absl-team@google.com>:
Change variable name 'slots' to 'slot_count' to avoid name-clash with Qt builds.
PiperOrigin-RevId: 362556289
--
934f0f409c9c548716a46363d6e243406fad4028 by Mark Barolak <mbar@google.com>:
Clarify the comment on ABSL_CACHELINE_SIZE to indicate that the macro definition itself shouldn't change, but rather that call sites should change when possible.
This addresses the request for improved documentation in https://github.com/abseil/abseil-cpp/pull/842.
PiperOrigin-RevId: 362354288
GitOrigin-RevId: 8e75347c10d85112296811be6ef35761744ad9bc
Change-Id: I33ec8561d8d645c3353e9d2dd447501d0e1825a7
Diffstat (limited to 'absl/status')
-rw-r--r-- | absl/status/internal/status_internal.h | 11 | ||||
-rw-r--r-- | absl/status/status.h | 9 | ||||
-rw-r--r-- | absl/status/status_test.cc | 4 | ||||
-rw-r--r-- | absl/status/statusor.h | 2 |
4 files changed, 24 insertions, 2 deletions
diff --git a/absl/status/internal/status_internal.h b/absl/status/internal/status_internal.h index 279f8f55..99a2d964 100644 --- a/absl/status/internal/status_internal.h +++ b/absl/status/internal/status_internal.h @@ -19,6 +19,17 @@ #include "absl/container/inlined_vector.h" #include "absl/strings/cord.h" +#ifndef SWIG +// Disabled for SWIG as it doesn't parse attributes correctly. +namespace absl { +ABSL_NAMESPACE_BEGIN +// Returned Status objects may not be ignored. Codesearch doesn't handle ifdefs +// as part of a class definitions (b/6995610), so we use a forward declaration. +class ABSL_MUST_USE_RESULT Status; +ABSL_NAMESPACE_END +} // namespace absl +#endif // !SWIG + namespace absl { ABSL_NAMESPACE_BEGIN diff --git a/absl/status/status.h b/absl/status/status.h index df9e330c..61486fee 100644 --- a/absl/status/status.h +++ b/absl/status/status.h @@ -291,6 +291,8 @@ enum class StatusToStringMode : int { kWithNoExtraData = 0, // ToString will contain the payloads. kWithPayload = 1 << 0, + // ToString will include all the extra data this Status has. + kWithEverything = ~kWithNoExtraData, }; // absl::StatusToStringMode is specified as a bitmask type, which means the @@ -410,7 +412,12 @@ inline StatusToStringMode& operator^=(StatusToStringMode& lhs, // return result; // } // -class ABSL_MUST_USE_RESULT Status final { +// For documentation see https://abseil.io/docs/cpp/guides/status. +// +// Returned Status objects may not be ignored. status_internal.h has a forward +// declaration of the form +// class ABSL_MUST_USE_RESULT Status; +class Status final { public: // Constructors diff --git a/absl/status/status_test.cc b/absl/status/status_test.cc index 7116ba67..0e1a43ce 100644 --- a/absl/status/status_test.cc +++ b/absl/status/status_test.cc @@ -292,6 +292,10 @@ TEST(Status, ToStringMode) { AllOf(HasSubstr("INTERNAL: fail"), HasSubstr("[foo='bar']"), HasSubstr("[bar='\\xff']"))); + EXPECT_THAT(s.ToString(absl::StatusToStringMode::kWithEverything), + AllOf(HasSubstr("INTERNAL: fail"), HasSubstr("[foo='bar']"), + HasSubstr("[bar='\\xff']"))); + EXPECT_THAT(s.ToString(~absl::StatusToStringMode::kWithPayload), AllOf(HasSubstr("INTERNAL: fail"), Not(HasSubstr("[foo='bar']")), Not(HasSubstr("[bar='\\xff']")))); diff --git a/absl/status/statusor.h b/absl/status/statusor.h index 469d486f..b7c55cc8 100644 --- a/absl/status/statusor.h +++ b/absl/status/statusor.h @@ -135,7 +135,7 @@ class ABSL_MUST_USE_RESULT StatusOr; // // NOTE: using `absl::StatusOr<T>::value()` when no valid value is present will // throw an exception if exceptions are enabled or terminate the process when -// execeptions are not enabled. +// exceptions are not enabled. // // Example: // |