--
034c30a00c64d93b9fcbc9d99a0a33801544d741 by Gennadiy Rozental <rogeeff@google.com>:
Split private handle interfaces accessor into a separate target with private visibility.
PiperOrigin-RevId: 310391488
--
6f6ca869309b17900b90849e08488ce7f7b0193a by Derek Mauro <dmauro@google.com>:
Remove __CLANG_SUPPORT_DYN_ANNOTATION__, which is a symbol defined by us
to be true in all builds
PiperOrigin-RevId: 310385325
--
ed5c1880c86973c000e826a3006b38e53ab3ed52 by Samuel Benzaquen <sbenza@google.com>:
Add tests to exercise extreme width and precision, and fix the overflows from
it.
PiperOrigin-RevId: 310224957
GitOrigin-RevId: 034c30a00c64d93b9fcbc9d99a0a33801544d741
Change-Id: I6c89a3c89ae92fa617c696044148ce9a79bcdda8
--
7a9e8d95f795be037aa2dce4e44809ad0166aaec by Samuel Benzaquen <sbenza@google.com>:
Make end() iterator be nullptr.
This makes the creation of and comparison with end() smaller and faster. `find()!=end()` becomes leaner.
PiperOrigin-RevId: 304681605
--
8f3024979446b391b79b1b60ada7d00a504d6aa6 by Derek Mauro <dmauro@google.com>:
Fix Bazel's distdir detection and prefer double brackets (bash recommendation)
PiperOrigin-RevId: 304615725
--
f1d709cb4b2b3743d548b814dd19602fb057a5e6 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304570545
--
2bbfa5bda52057e1938a96c286ad33ff64e535e0 by Gennadiy Rozental <rogeeff@google.com>:
Implement general storage case as aligned buffer.
Aside from eliminating dynamic memory allocation for flag storage, we also saving 11 bytes per int flag, 15 bytes per double and string flag.
PiperOrigin-RevId: 304511965
--
9e1aed2a95d7d060f8b906fe8c67fc3ba537b521 by Derek Mauro <dmauro@google.com>:
Use reserve to make a bad_alloc less likely in endian_test
This happened once and shouldn't have happened, so it was probably
just a flake, but might as well make this change.
PiperOrigin-RevId: 304505572
--
c2faf22ba2d4d66753390e6959494214895581f0 by Gennadiy Rozental <rogeeff@google.com>:
Use anonymous bit fields to enforce separation between const and mutable bit fields.
We also move init_control field (which is now safe) to save 8 bytes per flag (based on size_tester output)
PiperOrigin-RevId: 304505215
--
7ec51250a84bb03e826b3caad64431e91748186a by Krzysztof Kosiński <krzysio@google.com>:
Change the buffer size in AppendNumberUnit to constexpr.
PiperOrigin-RevId: 304492779
--
a6c8db1be4f421ea7b7c02f7a01b4f48bad61883 by Gennadiy Rozental <rogeeff@google.com>:
Add test cases for two word storage.
Some additional tests were added for other storage kinds as well. These came about after I started to look into a coverage output and noticed that some cases (like reading flag values via reflection) were not covered by this test at all. It does not make sense to just add tests for two word values, so I've covered other storage kinds as well.
PiperOrigin-RevId: 304432511
--
2644ecc32e1215cd6451efcb2f1054fd77e7c812 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304254681
--
4949a6b20c2bb4b9b2c811f439ccb893abc08df5 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 304250274
GitOrigin-RevId: 7a9e8d95f795be037aa2dce4e44809ad0166aaec
Change-Id: I01623de87355bec5cf87cc5932a1ca44cade9aae
--
2dd5008c7b4176859e320c7c337078adb173b662 by Tom Manshreck <shreck@google.com>:
Internal change
PiperOrigin-RevId: 304022549
--
6442abd78697b03cfe698b0d0dac7f1eb4b5cb38 by Andy Getzendanner <durandal@google.com>:
Internal change
PiperOrigin-RevId: 303890410
--
eb8b37b468b0f23da09d3de714272928ef61f942 by Gennadiy Rozental <rogeeff@google.com>:
Roll changes forward with ChunkIterator templatized.
This should facilitate usage of "small" chunk iterator for a regular usage and proper "big" iterator internally in Cord implementation. This way Cord users are not exposed to stack size overhead if they have a lot of chunk iterators or recursive implementation which relies on chunk iterators.
PiperOrigin-RevId: 303877118
--
9623c569e7c55b45254e95f2d14c5badf9c901aa by Gennadiy Rozental <rogeeff@google.com>:
Switch Flags implementation of fast type id to use absl/base/internal/fast_type_id.h
PiperOrigin-RevId: 303861019
--
e2931e8d53c86d0816da6bbc8ba58cf5a3a443bb by Matthew Brown <matthewbr@google.com>:
Internal Change
PiperOrigin-RevId: 303832407
--
b549ed6e441e920b8ad6f02a80b9fd543820ef86 by Tom Manshreck <shreck@google.com>:
Update Cord header file comments to Abseil standards
PiperOrigin-RevId: 303823232
--
fc633d4f31a2d058f2b6a7029fc7c9820cd71c92 by Evan Brown <ezb@google.com>:
Remove top-level const from K/V in map_slot_type::mutable_value and map_slot_type::key.
This allows us to move between `map_slot_type::mutable_value`s internally even when the key_type and/or mapped_type specified by the user are const.
PiperOrigin-RevId: 303811694
--
909b3ce7cb3583ee9c374d36ff5f82bba02a1b64 by Derek Mauro <dmauro@google.com>:
Add hardening assertions to the preconditions of absl::Cord
PiperOrigin-RevId: 303419537
--
9d32f79eabd54e6cb17bcc28b53e9bcfeb3cf6f4 by Greg Falcon <gfalcon@google.com>:
Don't use MSVC-specific bit manipulations when using Clang on Windows.
This fixes a compiler warning. Note that we do not have continuous testing for this configuration; this CL is best-effort support.
PiperOrigin-RevId: 303322582
--
f6e0a35a2b9081d2a9eef73789b7bc1b5e46e5ad by Gennadiy Rozental <rogeeff@google.com>:
Introduce standlone FastTypeId utility to represent compile time unique type id.
PiperOrigin-RevId: 303180545
--
99120e9fbdb5b2d327139ab8f617533d7bc3345b by Abseil Team <absl-team@google.com>:
Changed absl's import of std::string_view to
using string_view = std::string_view.
This should help tools (e.g. include-what-you-use) discover where absl::string_view is defined.
PiperOrigin-RevId: 303169095
GitOrigin-RevId: 2dd5008c7b4176859e320c7c337078adb173b662
Change-Id: I1e18ae08e23686ac963e7ea5e5bd499e18d51048
--
a3e58c1870a9626039f4d178d2d599319bd9f8a8 by Matt Kulukundis <kfm@google.com>:
Allow MakeCordFromExternal to take a zero arg releaser.
PiperOrigin-RevId: 298650274
--
01897c4a9bb99f3dc329a794019498ad345ddebd by Samuel Benzaquen <sbenza@google.com>:
Reduce library bloat for absl::Flag by moving the definition of base virtual functions to a .cc file.
This removes the duplicate symbols in user translation units and has the side effect of moving the vtable definition too (re key function)
PiperOrigin-RevId: 298617920
--
190f0d3782c63aed01046886d7fbc1be5bca2de9 by Derek Mauro <dmauro@google.com>:
Import GitHub #596: Unbreak stacktrace code for UWP apps
PiperOrigin-RevId: 298600834
--
cd5cf6f8c87b35b85a9584e94da2a99057345b73 by Gennadiy Rozental <rogeeff@google.com>:
Use union of heap allocated pointer, one word atomic and two word atomic to represent flags value.
Any type T, which is trivially copy-able and with with sizeof(T) <= 8, will be stored in atomic int64_t.
Any type T, which is trivially copy-able and with with 8 < sizeof(T) <= 16, will be stored in atomic AlignedTwoWords.
We also introducing value storage type to distinguish these cases.
PiperOrigin-RevId: 298497200
--
f8fe7bd53bfed601f002f521e34ab4bc083fc28b by Matthew Brown <matthewbr@google.com>:
Ensure a deep copy and proper equality on absl::Status::ErasePayload
PiperOrigin-RevId: 298482742
--
a5c9ccddf4b04f444e3f7e27dbc14faf1fcb5373 by Gennadiy Rozental <rogeeff@google.com>:
Change ChunkIterator implementation to use fixed capacity collection of CordRep*. We can now assume that depth never exceeds 91. That makes comparison operator exception safe.
I've tested that with this CL we do not observe an overhead of chunk_end. Compiler optimized this iterator completely.
PiperOrigin-RevId: 298458472
--
327ea5e8910bc388b03389c730763f9823abfce5 by Abseil Team <absl-team@google.com>:
Minor cleanups in b-tree code:
- Rename some variables: fix issues of different param names between definition/declaration, move away from `x` as a default meaningless variable name.
- Make init_leaf/init_internal be non-static methods (they already take the node as the first parameter).
- In internal_emplace/try_shrink, update root/rightmost the same way as in insert_unique/insert_multi.
- Replace a TODO with a comment.
PiperOrigin-RevId: 298432836
--
8020ce9ec8558ee712d9733ae3d660ac1d3ffe1a by Abseil Team <absl-team@google.com>:
Guard against unnecessary copy in case the buffer is empty. This is important in cases were the user is explicitly tuning their chunks to match PiecewiseChunkSize().
PiperOrigin-RevId: 298366044
--
89324441d1c0c697c90ba7d8fc63639805fcaa9d by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 298219363
GitOrigin-RevId: a3e58c1870a9626039f4d178d2d599319bd9f8a8
Change-Id: I28dffc684b6fd0292b94807b88ec6664d5d0e183
--
dc6d2715f0415082fcc8da8bf74e74bce69b236c by Derek Mauro <dmauro@google.com>:
Correctly detect C++ exceptions support on Clang for Windows
PiperOrigin-RevId: 294905116
--
b43c44501b4820f4a2f396e426619bd02565707e by Derek Mauro <dmauro@google.com>:
Set CMAKE_CXX_STANDARD on the MacOS CMake build
PiperOrigin-RevId: 294730418
--
184a078649167f9738da60b0f12108256bcfd67b by Abseil Team <absl-team@google.com>:
No need for custom spec to deal with limited platforms.
PiperOrigin-RevId: 294700133
--
b437c7f659b809fc84a45eab284265fec497a3e3 by Abseil Team <absl-team@google.com>:
Not calling sigaltstack on WatchOS and TVOS since they don't allow it.
PiperOrigin-RevId: 294699951
--
23ab8dd381ee4104125dece8455bc96b81239789 by Gennadiy Rozental <rogeeff@google.com>:
Replace use of atomic+global Mutex+bool with absl::call_once for Flag initialization.
This simplifies the initialization logic and helps with upcoming work with value storage rework.
PiperOrigin-RevId: 294654938
--
cee576163a2753c6138bc254e81de4800ea3307a by Gennadiy Rozental <rogeeff@google.com>:
Separate const bits from mutable bits.
Since bit field is not atomic unit for reading/writing, we can't have constant bits which are not protected by data guard to share the space with mutable bits which are protected.
This CL just reorder fields in class and does not make any other changes.
PiperOrigin-RevId: 294501780
--
b4d0e2ab559d04f655c93f008594562234773c15 by Abseil Team <absl-team@google.com>:
Correct the comment.
PiperOrigin-RevId: 294499328
--
a788cf71af6247df033298c49939ba0414d71693 by Derek Mauro <dmauro@google.com>:
Move the FAQ to the top level directory
PiperOrigin-RevId: 294493863
GitOrigin-RevId: dc6d2715f0415082fcc8da8bf74e74bce69b236c
Change-Id: I71b0d8cd401b48d41433417858ae0d69398b6602
--
803abc2dcad8b2354c988e9bf58dac4a17683832 by Gennadiy Rozental <rogeeff@google.com>:
Avoid warning when RTTI is not enabled.
PiperOrigin-RevId: 294247546
--
5a7b0b4d07d1d6e56fbb0b0ffbf4f8fcab772dbf by Derek Mauro <dmauro@google.com>:
Add a public Abseil FAQ
PiperOrigin-RevId: 294226960
--
6945c4a6df7d7679711fea31aacf4fba6ac7baa1 by Gennadiy Rozental <rogeeff@google.com>:
Re-enable type mismatch check, which works in all the cases including shared libraries.
We will use RTTI in case when our hand written approximation of it reports a type mismatch. This way we can ensure that if a flag is defined in one shared object and referenced in another we do not report spurious errors.
PiperOrigin-RevId: 293905563
GitOrigin-RevId: 803abc2dcad8b2354c988e9bf58dac4a17683832
Change-Id: I1a23776d227ed2734c2e7183323786b7a95c3cc7
--
dea3e4f33f16bdb1d89cad1f8055b81c0c0cb554 by Andy Getzendanner <durandal@google.com>:
Validate in log_severity_test that flags of type absl::LogSeverity are lock-free.
PiperOrigin-RevId: 293454285
--
2a0cd2d8dc193a0cbff4ffa6c5c7037745507419 by Derek Mauro <dmauro@google.com>:
Update the testing instructions in CONTRIBUTING.md
PiperOrigin-RevId: 293436013
--
cec91c3f635b0b4c8a60955e5926dba4ed980898 by Gennadiy Rozental <rogeeff@google.com>:
Introduce struct to represent storage for flag value and normalize naming of internal structs in Flag implementation.
There is no semantic changes in this CL. All the internal structs are now named as Flag... We also stop using flags_internal:: qualifications for most of them since the names are unique enough by themselves.
PiperOrigin-RevId: 293251467
GitOrigin-RevId: dea3e4f33f16bdb1d89cad1f8055b81c0c0cb554
Change-Id: I161aecc9509edae3e4b77eead02df684b2ce7087
--
8bdb2020150ed0fd4a4e520e454dc5f54e33f776 by Eric Fiselier <ericwf@google.com>:
Workaround bug in GCC 9.2 and after.
PiperOrigin-RevId: 291982551
--
47ff4820e595f96c082a90d733725f6882d83e3b by Abseil Team <absl-team@google.com>:
Improve ABSL_ATTRIBUTE_PACKED documentation
Recommend to apply ABSL_ATTRIBUTE_PACKED to structure members instead of to an entire structure because applying this attribute to an entire structure may cause the compiler to generate suboptimal code. It reduces the alignment of the data structure from a value larger than one to one. When applied to a structure, ABSL_ATTRIBUTE_PACKED reduces the alignment of a structure (alignof()) to 1. As a result, the compiler can no longer assume that e.g. uint32 members are aligned on a four byte boundary and hence is forced to use single-byte load and store instructions on CPU architectures that do not support non-aligned loads or stores.
PiperOrigin-RevId: 291977920
--
902b7a86f860da699d3a2e5c738be5ef73ede3b4 by Mark Barolak <mbar@google.com>:
Internal change
PiperOrigin-RevId: 291963048
--
bb3bd3247e376d53a3080b105f13ec7566d3ae50 by Abseil Team <absl-team@google.com>:
Support the C++17 insert_or_assign() API in btree_map.
PiperOrigin-RevId: 291945474
--
ff3b3cfcbbc64f086f95501f48d49426bcde356f by Gennadiy Rozental <rogeeff@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 291861110
--
fd465cd9cbbacd3962f67a7346d6462edaddd809 by Derek Mauro <dmauro@google.com>:
Add flaky=1 to beta_distribution_test.
PiperOrigin-RevId: 291757364
--
3603adfb59c4128c542b670952cce250d59e1f67 by Derek Mauro <dmauro@google.com>:
Separate the initialization of NumCPUs() and NominalCPUFrequency()
The OSS version of Abseil never needs to call NominalCPUFrequency().
In some configurations, initializing NominalCPUFrequency() requires
spending at least 3ms measuring the CPU frequency. By separating the
initialization from NumCPUs(), which is called in most configurations,
we can save at least 3ms of program startup time.
PiperOrigin-RevId: 291737273
--
bea9e4a6bff5a0351d340deab966641867e08c4d by Abseil Team <absl-team@google.com>:
Change the cmake library names not to have a redundant `absl_` prefix.
PiperOrigin-RevId: 291640501
--
501b602ef260cd7c8c527342581ceffb3c5b6d4c by Gennadiy Rozental <rogeeff@google.com>:
Introducing benchmark for absl::GetFlag.
PiperOrigin-RevId: 291433394
--
4eeaddc788da4b91c272a8adca77ca6dbbbc1d44 by Xiaoyi Zhang <zhangxy@google.com>:
fix: Add support for more ARM processors detection
Import of https://github.com/abseil/abseil-cpp/pull/608
PiperOrigin-RevId: 291420397
--
a3087a8e883c5d71de7d9bd4ec8f4db5142dfcf5 by Derek Mauro <dmauro@google.com>:
Removes the flaky raw_hash_set prefetch test
PiperOrigin-RevId: 291197079
--
aad6c2121c102ac36216e771c83227cf3e3bfd66 by Andy Soffer <asoffer@google.com>:
Enable building Abseil as a DLL.
This is currently experimental and unsupported.
This CL does a few things:
1. Adds the ABSL_DLL macro to any class holding a static data member, or to global constants in headers.
2. Adds a whitelist of all files in the DLL and all the build targets that are conglomerated into the DLL.
3. When BUILD_SHARED_LIBS is specified, any build target that would be in the DLL still exists, but we swap out all of it's dependencies so it just depends on abseil_dll
PiperOrigin-RevId: 291192055
--
5e888cd6f2a7722805d41f872108a03a84e421c7 by Mark Barolak <mbar@google.com>:
Move absl/strings/internal/escaping.{cc,h} into internal build targets.
This puts absl/strings/internal/escaping.h behind a whitelist and it also resolves https://github.com/abseil/abseil-cpp/issues/604.
PiperOrigin-RevId: 291173320
--
166836d24970da87587c1728036f53f05a28f0af by Eric Fiselier <ericwf@google.com>:
Internal Change.
PiperOrigin-RevId: 291012718
--
996ddb3dffda02440fa93f30ca5d71b14b688875 by Abseil Team <absl-team@google.com>:
Fix shared libraries log spam for built-in types in absl::GetFlag
PiperOrigin-RevId: 290772743
GitOrigin-RevId: 8bdb2020150ed0fd4a4e520e454dc5f54e33f776
Change-Id: I8bf2265dd14ebbace220a1b6b982bb5040ad2a26
--
5448463d79c8473d29b6aae62359eaec09e517b0 by Greg Falcon <gfalcon@google.com>:
Rename absl_types_options.h to absl_alternate_options.h, to reflect that we are testing more than just types with this file.
PiperOrigin-RevId: 289099882
--
8008a5662d1b27c4ea442575405eb0538f63a636 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 289097666
--
0e9398fae540bdb7dd752245b83456f3784c50ca by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 288985613
GitOrigin-RevId: 5448463d79c8473d29b6aae62359eaec09e517b0
Change-Id: I5bc1ee156294793cacf3acbc447c0ea27ce8af4f
--
330051e00cd57ee516b4eaf656965656ffbcd0bc by Abseil Team <absl-team@google.com>:
Fix indentation in comment.
PiperOrigin-RevId: 287997504
--
35fb1a893e708031ba4fc0db460875eb0d31820e by Abseil Team <absl-team@google.com>:
Enable compile-time enforcement that absl::Substitute patterns to not contain unescaped $ symbols.
absl::Substitute already considers unescaped $ symbols undefined behavior and crashes when it's passed them in debug builds. Some code isn't ever built in debug mode, though, and inadvertently used some unescaped $ symbols, which led to surprising results. This change will prevent that problem from happening in the future.
PiperOrigin-RevId: 287906643
--
c5762833ebde6d7110bf68041a823b571c238e9e by Gennadiy Rozental <rogeeff@google.com>:
Move all the flag data into a single place instead of being split between handle and flag object.
After this change CommandLineFlag will not hold any data anymore. And we also do not need to pass the CommandLineFlag around in Abseil Flag implementation to report flag name and location.
PiperOrigin-RevId: 287899076
--
8b5fb644f1e3d9267b7a75106fe9a72c886db786 by Derek Mauro <dmauro@google.com>:
Upgrade CI testing to Bazel 2.0.0 and Clang 407ac2eb5f13
-fno-sanitize-blacklist is to workaround
https://github.com/bazelbuild/bazel/issues/10510
PiperOrigin-RevId: 287875363
--
a20cc1d58895de2babc3748a6c79d1d6813734ef by Abseil Team <absl-team@google.com>:
Make ABSL_RETIRED_FLAG behave consistently with ABSL_FLAG.
Before the change:
ABSL_RETIRED_FLAG does not compile when there are competing ctors in the type, even when ABSL_FLAG does.
After the change:
ABSL_RETIRED_FLAG compiles when ABSL_FLAG does.
PiperOrigin-RevId: 286483183
--
1cff7e67329d2be9e50bee1f2e76ef9ffd2edde5 by Abseil Team <absl-team@google.com>:
Support C++20 erase_if API in unordered associative containers
See [unord.set.erasure]: https://eel.is/c++draft/unord.set.erasure
See [unord.map.erasure]: https://eel.is/c++draft/unord.map.erasure
PiperOrigin-RevId: 286461140
GitOrigin-RevId: 330051e00cd57ee516b4eaf656965656ffbcd0bc
Change-Id: I5513110b41c2af08a44da54612cff341ac5c6607
--
b770d03c2f1042d399c3f9576e881691cbe962c4 by Abseil Team <absl-team@google.com>:
Avoid applying the workaround for MSVC's static initialization problems when using clang-cl.
PiperOrigin-RevId: 275870089
--
2b8fc02ec49aeb5ad56cef20259cdd7f6ee0c917 by Abseil Team <absl-team@google.com>:
Document return values.
PiperOrigin-RevId: 275839042
--
baa99064f9a28b188661df7fba989fcd558818af by Abseil Team <absl-team@google.com>:
Support "auto" and other uncommon builtin types in absl::debugging_internal::Demangle.
PiperOrigin-RevId: 275556195
--
f9d5c6a3a0d374dbf105d6e2e9e0c8fa949ed187 by Gennadiy Rozental <rogeeff@google.com>:
Internal rework.
PiperOrigin-RevId: 275550005
--
2679a77db5b26349e8c8b2059621af55d2fca139 by Mark Barolak <mbar@google.com>:
Remove a comment reference to the no longer extant ::string implementation.
PiperOrigin-RevId: 275531987
--
7b427a7613c44a98c6f13da43b2bff2837ca6b19 by Derek Mauro <dmauro@google.com>:
Upgrade to Bazel 1.0.0 and CMake 3.15.4
PiperOrigin-RevId: 275500823
--
81f7d20905debf9d1e300bd2e9899f88d27f632a by Derek Mauro <dmauro@google.com>:
Fix -Wimplicit-int-float-conversion warning in latest clang
PiperOrigin-RevId: 275492439
GitOrigin-RevId: b770d03c2f1042d399c3f9576e881691cbe962c4
Change-Id: I9b39dad524489f0d62c912d02e8ac43761c81e55
--
f13697e3d33803f9667d124072da4f6dd8bfbf85 by Andy Soffer <asoffer@google.com>:
Addressing https://github.com/abseil/abseil-cpp/issues/314, fixing
CMakeLists.txt to reference ABSL_TEST_COPTS rather than ABSL_DEFAULT_COPTS.
ABSL_TEST_COPTS should be preferred for all tests so that they are configured consistently (moreover, CMake should agree with Bazel).
PiperOrigin-RevId: 274932312
--
c31c24a1fa6bb98136adf51ef37c0818ac366690 by Derek Mauro <dmauro@google.com>:
Silence MSAN in the stack consumption test utility
PiperOrigin-RevId: 274912950
--
2412913c05a246cd527cd4c31452f126e9129f3a by CJ Johnson <johnsoncj@google.com>:
Internal change
PiperOrigin-RevId: 274847103
--
75e984a93b5760873501b96ac3229ccfd955daf8 by Abseil Team <absl-team@google.com>:
Reformat BUILD file to current standards.
PiperOrigin-RevId: 274815392
--
a2780e085f1df1e4ca2c814a58c893d1b78a1d9c by Samuel Benzaquen <sbenza@google.com>:
Fix invalid result regarding leading zeros in the exponent.
PiperOrigin-RevId: 274808017
--
dd402e1cb5c4ebacb576372ae24bf289d729d323 by Samuel Benzaquen <sbenza@google.com>:
Make string_view's relational operators constexpr when possible.
PiperOrigin-RevId: 274807873
--
b4ef32565653a5da1cb8bb8d0351586d23519658 by Abseil Team <absl-team@google.com>:
Internal rework.
PiperOrigin-RevId: 274787159
--
70d81971c5914e6785b8e8a9d4f6eb2655dd62c0 by Gennadiy Rozental <rogeeff@google.com>:
Internal rework.
PiperOrigin-RevId: 274715557
--
14f5b0440e353b899cafaaa15b53e77f98f401af by Gennadiy Rozental <rogeeff@google.com>:
Make deprecated statements about ParseFLag/UnparseFlag consistent in a file.
PiperOrigin-RevId: 274668123
--
2e85adbdbb92612e4d750bc34fbca3333128b42d by Abseil Team <absl-team@google.com>:
Allow absl::c_equal to be used with arrays.
This is achieved by allowing container size computation for arrays.
PiperOrigin-RevId: 274426830
--
219719f107226d328773e6cec99fb473f5d3119c by Gennadiy Rozental <rogeeff@google.com>:
Release correct extension interfaces to support usage of absl::Time and absl::Duration as ABSL_FLAG
PiperOrigin-RevId: 274273788
--
47a77f93fda23b69b4a6bdbd506fe643c69a5579 by Gennadiy Rozental <rogeeff@google.com>:
Rework of flags persistence/FlagSaver internals.
PiperOrigin-RevId: 274225213
--
7807be3fe757c19e3b0c487298387683d4c9f5b3 by Abseil Team <absl-team@google.com>:
Switch reference to sdkddkver.h to lowercase, matching conventions used in the Windows SDK and other uses. This helps to avoid confusion on case-sensitive filesystems.
PiperOrigin-RevId: 274061877
--
561304090087a19f1d10f0475f564fe132ebf06e by Andy Getzendanner <durandal@google.com>:
Fix ABSL_WAITER_MODE detection for mingw
Import of https://github.com/abseil/abseil-cpp/pull/342
PiperOrigin-RevId: 274030071
--
9b3caac2cf202b9d440dfa1b4ffd538ac4bf715b by Derek Mauro <dmauro@google.com>:
Support using Abseil with the musl libc implementation.
Only test changes were required:
* Workaround for a bug in sigaltstack() on musl
* printf-style pointer formatting (%p) is implementation defined,
so verify StrFromat produces something compatible
* Fix detection of feenableexcept()
PiperOrigin-RevId: 274011666
--
73e8a938fc139e1cc8670d4513a445bacc855539 by Abseil Team <absl-team@google.com>:
nvcc workaround: explicitly specify the definition of node_handle::Base
PiperOrigin-RevId: 274011392
--
ab9cc6d042aca7d48e16c504ab10eab39433f4b2 by Andy Soffer <asoffer@google.com>:
Internal change
PiperOrigin-RevId: 273996318
--
e567c4979ca99c7e71821ec1523b8f5edd2c76ac by Abseil Team <absl-team@google.com>:
Introduce a type alias to work around an nvcc bug.
On the previous code, nvcc gets confused thinking that T has to be a parameter
pack, as IsDecomposable accepts one.
PiperOrigin-RevId: 273980472
--
105b6e6339b77a32f4432de05f44cd3f9c436751 by Eric Fiselier <ericwf@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 273955589
--
8feb87ff1d7e721fe094855e67c19539d5e582b7 by Abseil Team <absl-team@google.com>:
Avoid dual-exporting scheduling_mode.h
PiperOrigin-RevId: 273825112
--
fbc37854776d295dae98fb9d06a541f296daab95 by Andy Getzendanner <durandal@google.com>:
Fix ABSL_HAVE_ALARM check on mingw
Import of https://github.com/abseil/abseil-cpp/pull/341
PiperOrigin-RevId: 273817839
--
6aedcd63a735b9133e143b043744ba0a25407f6f by Andy Soffer <asoffer@google.com>:
Remove bit_gen_view.h now that all callers have been migrated to bit_gen_ref.h
Tested:
TGP - https://test.corp.google.com/ui#id=OCL:273762409:BASE:273743370:1570639020744:3001bcb5
PiperOrigin-RevId: 273810331
--
6573de24a66ba715c579f7f32b5c48a1d743c7f8 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 273589963
--
91c8c28b6dca26d98b39e8e06a8ed17c701ff793 by Abseil Team <absl-team@google.com>:
Update macro name for `ABSL_GUARDED_BY()` in the example section.
PiperOrigin-RevId: 273286983
--
0ff7d1a93d70f8ecd693f8dbb98b7a4a016ca2a4 by Abseil Team <absl-team@google.com>:
Fix potential integer overflow in the absl time library.
In absl::FromTM, the tm.tm_year is added by 1900 regarding that tm.tm_year represents the years since 1900. This change checks integer overflow before doing the arithmetic operation.
PiperOrigin-RevId: 273092952
--
b41c2a1310086807be09a833099ae6d4009f037c by Gennadiy Rozental <rogeeff@google.com>:
Correctly Unlock the global mutex in case of concurrent flag initialization.
Fixes#386
PiperOrigin-RevId: 272979749
--
c53103e71b2a6063af3c6d4ff68aa2d8f9ae9e06 by Abseil Team <absl-team@google.com>:
Try to become idle only when there is no wakeup.
Immediately after waking up (when futex wait returns), the current thread tries
to become idle doing bunch of memory loads and a branch. Problem is that there
is a good chance that we woke up due to a wakeup, especially for actively used
threads. For such wakeups, calling MaybeBecomeIdle() would be a waste of
cycles.
Instead, call MaybeBecomeIdle() only when we are sure there is no wakeup. For
idle threads the net effect should be the same. For active, threads this will
be more efficient.
Moreover, since MaybeBecomeIdle() is called before waiting on the futex, the
current thread will try to become idle before sleeping. This should result
in more accurate idleness and more efficient release of thread resources.
PiperOrigin-RevId: 272940381
GitOrigin-RevId: f13697e3d33803f9667d124072da4f6dd8bfbf85
Change-Id: I36de05aec12595183725652dd362dfa58fb095d0
--
cf6037b985b629c253b8a87e4408c88a61baf89a by Abseil Team <absl-team@google.com>:
Adds an example of using ABSL_DEPRECATED on a template.
Without this, it's unclear where to add this annotation (e.g. before template <> or after it).
PiperOrigin-RevId: 270057224
--
c53bc14dd683cc1e41c940a337001b42a0270eaf by Andy Getzendanner <durandal@google.com>:
Parser and unparser for command-line flags of type absl::LogSeverity.
PiperOrigin-RevId: 269939999
--
d91174b02f3b213f0b26701d9d97c79f809e6fea by Abseil Team <absl-team@google.com>:
Fix a typo.
PiperOrigin-RevId: 269738777
GitOrigin-RevId: cf6037b985b629c253b8a87e4408c88a61baf89a
Change-Id: I6cec3101014e4c77f4ff2edb4c91740982dbb459
--
62de74cdadc450a28eaa61a2db0912c97c8004dd by Abseil Team <absl-team@google.com>:
Move "internal/flag.*" files to the "internal" build target.
PiperOrigin-RevId: 268301646
--
72cd87aebd52fa7e7ee7cff0284f3761dd490945 by CJ Johnson <johnsoncj@google.com>:
Silences incorrect test failure for InlinedVector in MSVC debug mode.
PiperOrigin-RevId: 268234003
GitOrigin-RevId: 62de74cdadc450a28eaa61a2db0912c97c8004dd
Change-Id: I6b58e41561de6ac2e34cf5c1eedbf535dc468955
--
167cd2647144583746311129b0cc98a89a9897e1 by Andy Soffer <asoffer@google.com>:
Internal Changes
PiperOrigin-RevId: 268000987
--
ab44fea7dfdaf763c69609a08ddfac22480ce520 by Derek Mauro <dmauro@google.com>:
Fix flags Cmake tests on Windows
PiperOrigin-RevId: 267859442
--
d7ec9f7611370b01bc9a5aed7e18460df2a15429 by Abseil Team <absl-team@google.com>:
Fix undefined behavior in symbolize_elf.inc
PiperOrigin-RevId: 267684904
--
e7c5f8e472a91ed99bdf4876942f2bda5751aa6c by Abseil Team <absl-team@google.com>:
Turn off ABSL_HAS_ALARM on Fuchsia.
PiperOrigin-RevId: 267666090
--
b7d25d5c71a49e697a8bf6440ed30f2e3f036420 by Chris Kennelly <ckennelly@google.com>:
Mark once initialization function as no inline.
We expect this code to run infrequently.
PiperOrigin-RevId: 267649713
--
dc2a5e5f1e39a03fff837d34a319033fde55d9ba by Derek Mauro <dmauro@google.com>:
Fix the MSVC CMake random build
PiperOrigin-RevId: 267624074
--
ba2751b67fa17d1b6c53e5ba79f81a5371e4a03a by Abseil Team <absl-team@google.com>:
Move "internal/flag.*" files to the "internal" build target.
PiperOrigin-RevId: 267588996
--
05b985a33eec4f8acff1809ad9218a1e22220f34 by Abseil Team <absl-team@google.com>:
Move "internal/flag.*" files to the "internal" build target.
PiperOrigin-RevId: 267580412
GitOrigin-RevId: 167cd2647144583746311129b0cc98a89a9897e1
Change-Id: Ibd334f46a5671c7c1d3fcf5354029e2fbb7ba91f
--
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
--
d6748c733a70cd74ad9b76a0c9cd6b3fe2cecacf by Xiaoyi Zhang <zhangxy@google.com>:
Remove empty block, to address alerts reported in
https://github.com/abseil/abseil-cpp/issues/368.
PiperOrigin-RevId: 265099887
--
232e2036b5668d6d1296b881f9347756d84541ee by Derek Mauro <dmauro@google.com>:
Make the Linux Bazel CI scripts test with the exception mode explicitly set.
PiperOrigin-RevId: 265092105
--
942a40696c2c9b833be03e92d22a6ede7bccb6d4 by Xiaoyi Zhang <zhangxy@google.com>:
Import https://github.com/abseil/abseil-cpp/pull/372.
Suppress the unused variable warning on GCC, i.e. "-Wunused-variable".
PiperOrigin-RevId: 265063925
--
7ef90796b52cbdc260afc77cf47206f9356471d0 by Xiaoyi Zhang <zhangxy@google.com>:
Add quotes to `ABSL_COMMON_INCLUDE_DIRS` since it's a list and may contain a
`;`. This addresses https://github.com/abseil/abseil-cpp/issues/373.
PiperOrigin-RevId: 265059077
--
43f3ae742e00b83672ad6c5bc5b17fdb8f9fe6fe by Gennadiy Rozental <rogeeff@google.com>:
Internal re-organization
PiperOrigin-RevId: 264913945
--
6a2adf9c08ee1d98cc6b2855a676345c6495294a by Andy Soffer <asoffer@google.com>:
Publicly expose type names for uniform interval tags as in, for example, absl::IntervalClosedClosedTag, and add equality comparison operators.
PiperOrigin-RevId: 264861162
--
3c90c6e05fd61d56b419cd2d39dab8f17b8711b8 by Abseil Team <absl-team@google.com>:
Add validity check on returned frame pointer.
PiperOrigin-RevId: 264858823
--
2db87e0cfa0c6bea7ba81684b834cb8a73b7d748 by Gennadiy Rozental <rogeeff@google.com>:
Add MUST_USE_RESULT attribute to absl::GetFlag to prevent accidental misuse.
PiperOrigin-RevId: 264782762
GitOrigin-RevId: d6748c733a70cd74ad9b76a0c9cd6b3fe2cecacf
Change-Id: I169e9c5358e4f63000c1255e806d26b8afecf5ff
* [bazel] Add fixes for --incompatible_load_cc_rules_from_bzl
Starting with Bazel 1.0 (September 2019), C++ rules will need to be
loaded from the @rules_cc repository. This change adds the required
loads for that. For full compatibility, we will need versions of
googletest and google-benchmark that also includes these loads.
* Run buildifier again after merge
--
2dd3b23ea940804de727e396b300cfae4b1b71a1 by Derek Mauro <dmauro@google.com>:
Upgrade to LLVM r366207 and Bazel 0.28.1 for Linux-Clang testing.
PiperOrigin-RevId: 263162761
--
f03ae9e4e9f42c075745d28b4ced78071e73724a by Derek Mauro <dmauro@google.com>:
Remove unneeded dependencies on //absl/base from targets that no
longer depend on it.
PiperOrigin-RevId: 263129193
--
8ec2aab1eea50e7f71a6a687a07e5ae0e0945f5e by Derek Mauro <dmauro@google.com>:
Move raw_logging to a separate target (raw_logging_internal)
PiperOrigin-RevId: 262972007
GitOrigin-RevId: 2dd3b23ea940804de727e396b300cfae4b1b71a1
Change-Id: I3f4580e87797386b0b5e90c8ced74cbf078f61c1
--
c321829735accc2e6beb81e6a5a4421e5647b876 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::swap(InlinedVector&) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 255511536
--
0d86445891748efb09430eb9ede267b54185a246 by CJ Johnson <johnsoncj@google.com>:
Updates the definition of InlinedVector::erase(...) to be exception safe and adds an exception safety test for it.
PiperOrigin-RevId: 255492671
--
f07e8fa62dfe9eb0d025b27fca8c6db43c5a328f by CJ Johnson <johnsoncj@google.com>:
Updates the implementation of InlinedVector::emplace_back(...) to be exception safe and adds exception safety tests
PiperOrigin-RevId: 255422837
--
4c3be92bfe4c1636a03cef8fd5aa802fed0d2c61 by Abseil Team <absl-team@google.com>:
Internal Change
PiperOrigin-RevId: 255422693
--
6df38ea42f00678c357a539016163f8ac4c084e6 by Gennadiy Rozental <rogeeff@google.com>:
Introduce public interfaces for setting and getting program usage messages.
PiperOrigin-RevId: 255291467
--
8f21d594aed3971d37db70226847c693eb548edb by Laramie Leavitt <lar@google.com>:
Move absl/random's copy of ABSL_ATTRIBUTE_FORCE_INLINE and
ABSL_ATTRIBUTE_NEVER_INLINE into .cc files and rename to
prevent conflicts.
https://github.com/abseil/abseil-cpp/issues/343
PiperOrigin-RevId: 255288599
--
6b7430ad0c8bd860fb9394894f5eeedd1acc9f77 by CJ Johnson <johnsoncj@google.com>:
Updates the ScopedAllocatorWorks test for InlinedVector to not rely on the byte count allocated by the standard library
In doing so, removes LegacyNextCapacityFrom(...) impl function from InlinedVector
Also applies clang-format to the test file
PiperOrigin-RevId: 255207606
GitOrigin-RevId: c321829735accc2e6beb81e6a5a4421e5647b876
Change-Id: I7438211c36c4549fca2e866658f8d579c65d7d52
--
22fceefcf070a0cf89bf1846bee16a9d36ad4161 by Derek Mauro <dmauro@google.com>:
Use function static for once initialization of flag registry.
This is a workaround for the MSVC debug constexpr initialization issue
in absl::once_flag.
GitHub #304
PiperOrigin-RevId: 248169007
--
97bbe6a5233802b61e758c55f7ba8926539cc4ca by Chris Kennelly <ckennelly@google.com>:
Internal change
PiperOrigin-RevId: 248139347
--
e72640ee079b9fa44e2c7f925fa0a608bcfea515 by Derek Mauro <dmauro@google.com>:
Re-write flags config. It doesn't have to be written in the convoluted
way it currently is in the opensource-only code path.
PiperOrigin-RevId: 248010502
--
2a72552511b8086c78cb43012c1644e519b3807e by Abseil Team <absl-team@google.com>:
Handle pthread_getschedparam() failure.
Log an error message if pthread_getschedparam() fails.
In Android's Media Framework, libminijail (which I believe is a sandbox)
aborts the process if pthread_getschedparam() is called:
media.swcodec: libminijail[7526]: blocked syscall: sched_getparam
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/system/bin/tombstoned: received crash request for pid 7526
Although this CL cannot handle that extreme failure mode, it handles an
error return from pthread_getschedparam() and won't use the uninitialized
param.sched_priority value in that case.
PiperOrigin-RevId: 247999953
--
bb154a92be37987d00d652c7c792594f2f515d83 by Abseil Team <absl-team@google.com>:
Allow intrinsic int128 to be set for __aarch64__ targets.
PiperOrigin-RevId: 247977594
GitOrigin-RevId: 22fceefcf070a0cf89bf1846bee16a9d36ad4161
Change-Id: I1f7ccfd82eb71446277a8e6f542fe835ac173d71
--
78293ba4eb4981991ae7e6edd25eb9245fcd7515 by Andy Soffer <asoffer@google.com>:
internal changes
PiperOrigin-RevId: 247073879
--
7bd97e3aad0c3012b89a39392a6ad3f254e9f3c3 by Derek Mauro <dmauro@google.com>:
Release commandline flags
PiperOrigin-RevId: 247065920
--
2a991849fd7b140a43b073076d194b61533fd199 by Tom Manshreck <shreck@google.com>:
Add documentation for built-in usage flags
PiperOrigin-RevId: 247058863
--
14157b0de45841706bbd631284191fd94c313db9 by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 247058292
--
ed67e0a80468596e30540b367727a250fa415b68 by Abseil Team <absl-team@google.com>:
Internal Change.
PiperOrigin-RevId: 246828655
--
e1bc8c2aa3f90b3d56c55c5b7244e718c919265d by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 246822325
--
907a68f287199f749cb9bdb48571b50bc34731e1 by Eric Fiselier <ericwf@google.com>:
Accept vector<bool>::reference in StrCat and friends.
Converting vector<bool>::reference to alphanum requires
two user defined conversions, which isn't allowed.
In order to accept this, we need a special constructor that
is only enabled for the bool proxy types.
PiperOrigin-RevId: 246626732
--
fe4295fa95cc65dee8c881ba12dd8f516e68c40d by Abseil Team <absl-team@google.com>:
Clarify the proper way to define AbslHashValue, and fix confusing indentation.
PiperOrigin-RevId: 246406528
--
d7174681a72d4a25c8fd2b4d9f515a0763eff87c by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 246358214
--
a7fdc19683cf1a5885e9e1af52fcdb2db1eda53b by Abseil Team <absl-team@google.com>:
Fix sample template instantiation.
PiperOrigin-RevId: 246354617
--
29a23c6835f872948d09b24d890385bf195bc995 by Abseil Team <absl-team@google.com>:
Fix incorrectly copy-pasted static_assert in absl::optional::value_or
The static_assert for a move-constructible type previously said the type must be copy-constructible.
PiperOrigin-RevId: 246313827
--
41884d5872d4ea2c67875b00144b8c8a5859a295 by Greg Falcon <gfalcon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 245418790
--
7f90a7f94cdd5e21232c749efe952a750b5c43a2 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 245412658
--
730a329cf047d54b46971fce1781edd857208c2a by Greg Falcon <gfalcon@google.com>:
internal change
PiperOrigin-RevId: 245293234
--
cf0216be6338200cbb18167d3f3b2e98e372be77 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 245288164
GitOrigin-RevId: 78293ba4eb4981991ae7e6edd25eb9245fcd7515
Change-Id: I5ea9a852c36c722bae2d6be65fb7f72473d94ab6