--
da04b8cd21f6225d71397471474d34a77df0efd6 by Jon Cohen <cohenjon@google.com>:
Don't use std::any, std::optional, std::variant, and friends on MacOS versions older than 10.14.
Although Xcode 10 includes those headers and makes the types available to use, according to https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes, on MacOS 10.13 and earlier use of any functions (std::get, for example) results in an error message to upgrade to MacOS 10.14.
This fixes https://github.com/abseil/abseil-cpp/issues/207. See that issue for more information on the error generated.
PiperOrigin-RevId: 221844618
--
1d99f77b4c60c5b0d7984f46e8ed63a3f969c635 by Jon Cohen <cohenjon@google.com>:
raw_hash_set_test is still flaky under gcc 4.8. Since we now have the probe_test, we don't need the PerfectRatio tests. Just remove them.
PiperOrigin-RevId: 221843042
--
135cbb2a5d90963256518b3b59fe6710815e5dfa by Abseil Team <absl-team@google.com>:
Update absl/algorithm/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221828348
--
1a5abde4f17f998ae89d87155d59f982a70202d8 by Jon Cohen <cohenjon@google.com>:
Internal change
PiperOrigin-RevId: 221708245
--
e03e031d4de39275989f695c768b0940cce1ff16 by Matt Armstrong <marmstrong@google.com>:
Log to FATAL in throw_delegate.h
ABSL_RAW_LOG(FATAL, ...) is guaranteed to abort.
Previously, the code was logging to ERROR and
calling abort() explicitly, which defeated any
integration with absl::raw_logging_internal::AbortHook().
These changes are limited to Abseil internal APIs.
PiperOrigin-RevId: 221696513
--
d13691523a3f9a5367fd1194cf9604bf4a969029 by Shahriar Rouf <nafi@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 221694877
--
f4044c56d44ba0ac2a9f218ed55f1b1f9e985eae by Abseil Team <absl-team@google.com>:
Update absl/base/CMakeLists.txt to use new functions
i.e. absl_cc_(library|test)
PiperOrigin-RevId: 221676669
GitOrigin-RevId: da04b8cd21f6225d71397471474d34a77df0efd6
Change-Id: If6621e10d096a39b6a056a072c2727a0df0b0620
--
5f1ab09522226336830d9ea6ef7276d37f536ac5 by Abseil Team <absl-team@google.com>:
Clarify the documentation of ABSL_MUST_USE_RESULT.
PiperOrigin-RevId: 221663609
--
af4c8359a20d56369fd1dce318220cf3be03ca66 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 221538448
--
487cd09bd1942bf607080deeae38fee6ce66f294 by Eric Fiselier <ericwf@google.com>:
Work around emscripten bugs and missing features in absl/time:time_test.
The emscripten toolchain has a couple of issues that cause time_test
to fail. Specifically:
1) emscripten doesn't support signals.
2) The javascript implementation of strftime/strptime use different expansions
of '%c' that mean it doesn't round-trip.
PiperOrigin-RevId: 221523701
--
5823652e6a200b97b07334bc47128dfac40e20fc by Xiaoyi Zhang <zhangxy@google.com>:
Fix MSVC compiler warning by explicitly casting to char.
Currently our MSVC build breaks with the following error:
raw_hash_set.h(406): warning C4309: 'argument': truncation of constant value
PiperOrigin-RevId: 221492585
--
c5806358320711a5efbe5c523df13e14ab53a17d by Greg Falcon <gfalcon@google.com>:
Replace calls to getpagesize() with the more portable sysconf(_SC_PAGESIZE); the latter is in POSIX 1.0 and is called out in the Linux `getpagesize` man page as a more portable spelling.
PiperOrigin-RevId: 221492471
--
19ffe82851072229bb7ce73f754ffe4c18e8c575 by Abseil Team <absl-team@google.com>:
Fix -Wundef error in absl/hash/internal/hash.h.
PiperOrigin-RevId: 221444120
--
b30f3d0a848563b6e4ec33f3dc085831dfabb748 by Jon Cohen <cohenjon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 221339736
GitOrigin-RevId: 5f1ab09522226336830d9ea6ef7276d37f536ac5
Change-Id: I96223d522d98bf6616dea88eb047c2d536eeddd0
--
07575526242a8e1275ac4223a3d2822795f46569 by CJ Johnson <johnsoncj@google.com>:
Comment cleanup on InlinedVector
PiperOrigin-RevId: 221322176
--
49a5e643f85e34d53c41f5e6cc33357c55c9115d by Matt Kulukundis <kfm@google.com>:
Internal cleanup
PiperOrigin-RevId: 221309185
--
bb35be87ec9c74244b7d902e7e7d2d33ab139d76 by Abseil Team <absl-team@google.com>:
Fix typo in comment.
PiperOrigin-RevId: 221145354
--
afd4d7c106919708004e06aeea068a57c28aec44 by Derek Mauro <dmauro@google.com>:
Update the debugging log message in CallOnceImpl()
PiperOrigin-RevId: 221103254
--
0b9dace8b88113777bf26a6d38f9bc0bcaf053a1 by Abseil Team <absl-team@google.com>:
Workaround an MSVC 2015 bug in compile-time initialization.
PiperOrigin-RevId: 220871483
--
ea0a3854511ed26beab827e5a5113766b334db86 by Marek Gilbert <mcg@google.com>:
Fix ABSL_HAVE_THREAD_LOCAL when compiling for iOS 8 with Xcode 10.
Xcode 10 has moved the check for thread_local to a link time, so
clang reports __has_feature(cxx_thread_local) but then linking fails
with messages like this:
ld: targeted OS version does not support use of thread local variables
PiperOrigin-RevId: 220815885
--
485b6876c158c3dcf37eb32d7e512242d5d4ecc6 by Greg Falcon <gfalcon@google.com>:
Make the absl::c_set_xxxx() algorithms refuse to compile when passed an unordered collection from std:: or absl::.
These algorithms operate on sorted sequences; passing an unordered container to them is nearly certainly a bug. This change is technically an API break, but it only breaks incorrect code.
We could try to be more clever and detect unordered collections from other libraries, but false positives will break legal code, and this would constitute an API break Abseil cannot afford.
PiperOrigin-RevId: 220794190
--
c47cff7f9cc70a4c1604eee0131af552f40e46d6 by Jon Cohen <cohenjon@google.com>:
MSVC 2017's STL throws a Structured Exception (not a C++ exception, essentially equivalent to SIGSEGV) when variant::emplace calls a throwing constructor when using the debug multithreaded MSVC runtime DLL. This manifests in dbg mode in Bazel builds. Disable tests which trigger this bug.
It's impossible to specifically pull out MSVC 2017 -dbg modes because there's no way for Bazel to know when version of MSVC is being used -- you tell Bazel the directory where the MSVC tools live, not which version of MSVC tools to use. Thus the best we can do is switch on _DEBUG, which is set whenever the debug runtime is selected with the /MDd build flag, as in Bazel -dbg modes. See https://msdn.microsoft.com/en-us/library/b0084kay.aspx ctrl-f "_DEBUG"
PiperOrigin-RevId: 220706161
--
43993d4af309d92f4ebff38391dcc245f154ecc7 by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 220688429
--
2448802972dcc261af153af464f2b022ef54a2a9 by Abseil Team <absl-team@google.com>:
Speed up operator* for uint128 in WIN64.
PiperOrigin-RevId: 220678790
--
7b376403dd05ba10152fb52e40b29d8af79b58bb by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 220654834
--
ae08af58111c3f838b8d4de25f501c3559c86002 by Abseil Team <absl-team@google.com>:
CMake: Add absl_cc_test function
PiperOrigin-RevId: 220603940
GitOrigin-RevId: 07575526242a8e1275ac4223a3d2822795f46569
Change-Id: Iba7f53eb394c8a9de564582a976793f9bb0596d9
--
178e7a9a76fc8fcd6df6335b59139cbe644a16b9 by Jon Cohen <cohenjon@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 220523164
--
59ef14fe7034a3148f1e9cef1f128b8ca264b444 by Jon Cohen <cohenjon@google.com>:
Don't assume how much std::vector's constructors allocate in InlinedVector's test for scoped_allocator_adaptor support.
PiperOrigin-RevId: 220464683
--
6f8351be43a44a8f10bf20612b2cc744a4a911c7 by Jon Cohen <cohenjon@google.com>:
Add VS Code and some Bazel output files to absl/.gitignore
PiperOrigin-RevId: 220464362
--
43fac22f8af6b6ed55309a784a9d25d837393d0e by Abseil Team <absl-team@google.com>:
absl: fix SpinLock::EncodeWaitCycles
If a thread has ever observed or set kSpinLockSleeper, it must
never leave 0 in kWaitTimeMask because at this point it is
expected to wake subsequent threads. Current calculations in
EncodeWaitCycles can result in 0 in kWaitTimeMask and lead to
missed wakeups. This is mostly theoretical today, because
the futex call needs to finish within 128 cycles (futex can
return immediately without waiting, but 128 cycles still
look too low for this). But this can well fire in future
if we bump granularity and/or threshold for recording contention.
Use kSpinLockSleeper instead of 0.
PiperOrigin-RevId: 220463123
--
def9b7e3d45c99d68cc52a4429256116d7f421f2 by Abseil Team <absl-team@google.com>:
absl: optimize SpinLock::SlowLock
Currently we record contention even after the first initial spin.
This leads to several performance issues:
1. If we succeed in acquiring the lock after the initial spin,
overall wait time can be within tens/hundreds of nanoseconds.
Recording such low wait time looks completely unnecessary and excessive.
From some point of view this is not even a wait, because we did not sleep.
And, for example, Mutex does not record contention in this case.
In majority of cases the lock should be acquired exactly during the initial
spin, yet we still go through full overhead of submitting contention.
2. Whenever a thread submits contention it also calls FUTEX_WAKE
(there is no way to understand if it's necessary or not when wait value
is stored in the lock). So if there are just 2 threads and a brief
contention, the second thread will still call FUTEX_WAKE which
is completely unnecessary overhead.
Don't record contention after the initial spin wait.
FWIW this also removes 2 CycleClock::Now calls and EncodeWaitCycles
from the common hot path.
PiperOrigin-RevId: 220379972
--
75b0c0cb214de904ea622f81ec3f4eabdc8695b0 by Derek Mauro <dmauro@google.com>:
Supress MSVC warnings in raw_hash_set's use of TrailingZeros and LeadingZeros.
https://github.com/abseil/abseil-cpp/issues/208
PiperOrigin-RevId: 220372204
GitOrigin-RevId: 178e7a9a76fc8fcd6df6335b59139cbe644a16b9
Change-Id: I3a66af4e050810a3274e45d4e055b2aa19ffba1b
--
ee19e203eca970ff88e8f25ce4e19c32e143b988 by Jon Cohen <cohenjon@google.com>:
Exception safety testing no longer uses absl::optional
PiperOrigin-RevId: 220336204
--
460666eb0b316a8b4aeedc589644d53b05251bd1 by Derek Mauro <dmauro@google.com>:
Rework SwissTable SSE2 support
- Use SSE2 on MSVC when available
https://github.com/abseil/abseil-cpp/issues/210
- Emulate _mm_cmpgt_epi8 with other SSE2 instructions when using
-funsigned-char under GCC
https://github.com/abseil/abseil-cpp/issues/209
PiperOrigin-RevId: 220312351
--
1f4318ecedf8d539b7b698eb803d613ad6b69278 by Abseil Team <absl-team@google.com>:
Change CollectPerfectRatios to use 10 trials to smooth out the outliers in the
sample.
PiperOrigin-RevId: 220286579
--
6755abc2673553a7f578bb29c6e9ca8d991bc9c8 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 220274307
--
8645b6187329ebf0aaf3c2de2888ba44466cd879 by Abseil Team <absl-team@google.com>:
* #endif for a header guard should reference the guard macro in a comment
PiperOrigin-RevId: 220206868
--
3987a7ad11319230910931cd2468b60b3fd1b85c by Gennadiy Civil <misterg@google.com>:
Internal Change
PiperOrigin-RevId: 220136674
--
cc908c1db2ee0d4523dc813e33f600583bb986c5 by Abseil Team <absl-team@google.com>:
absl: fix backoff logic in SpinLockWait
There are 3 bugs in loop variable handling:
1. It starts with 0, but AbslInternalSpinLockDelay ignores loop == 0.
So it does not actually wait when it should.
2. loop is incremented after successful state changes,
but it should not (why would be increase backoff delay after that?).
3. loop is incremented after CAS failures,
but it should not (why would be increase backoff delay after that?).
Use the same handling of loop as used in SpinLock.
PiperOrigin-RevId: 220136079
--
a0a1c6ef5910ebd28e07215d7df03cc0da0b3eed by Abseil Team <absl-team@google.com>:
absl: relax unnecessarily strong memory ordering in SpinLock::SlowLock
We don't need to acquire visibility over anything when setting kSpinLockSleeper.
Replace the confusing and unnecessarily strong memory order with relaxed.
PiperOrigin-RevId: 220023380
--
c50858b51af28b9fca1a62616324f85f3e84ea74 by Tom Manshreck <shreck@google.com>:
Update comments in flat_hash_map, node_hash_{set, map} and the containers developer guide
PiperOrigin-RevId: 219938692
--
e87b7d1a5f61e165b1c44d3b16d8d967197cdfce by CJ Johnson <johnsoncj@google.com>:
Rearranges the public methods of InlinedVector and cleans up the comments
PiperOrigin-RevId: 219896257
--
f3234c466f792e0fc4bfd21fc7919dba5e679375 by CJ Johnson <johnsoncj@google.com>:
Adds branch prediction to exceptional early exit cases of inlined vector's API
PiperOrigin-RevId: 219887173
--
4dfccf1a81ca0425912d3da25a8470f78c532ce4 by CJ Johnson <johnsoncj@google.com>:
Fixes the InlinedVector public interface to use the allocator type references instead of assuming the type
Also cleans up some cruft in formatting and comments
PiperOrigin-RevId: 219878876
--
4bb6a2b892abb10bd6a424db7e94ed8640802470 by Tom Manshreck <shreck@google.com>:
Add comments on constructor and assignment operator support to flat_hash_set
PiperOrigin-RevId: 219825338
--
c23f973e2f7f4feea0da36bf8a9c3f8a8954bb74 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 219823847
GitOrigin-RevId: ee19e203eca970ff88e8f25ce4e19c32e143b988
Change-Id: I288c927ca481dc57340420dbb4c278a05cf15e83
--
4e224c85c3730398919fc5195cb1fc7a752e6e4f by Mark Barolak <mbar@google.com>:
Update some references to "StringPiece" to say "string_view" instead.
PiperOrigin-RevId: 219693697
--
6bdc925a3db5e97f1f8a404bdfda2e47e48f7b9a by Abseil Team <absl-team@google.com>:
Disable weak symbols for the Windows backend of LLVM, since they are currently buggy. See https://bugs.llvm.org/show_bug.cgi?id=37598 for more information.
PiperOrigin-RevId: 219676493
--
5823f495036181191f435efa4c45d60ca3160145 by Derek Mauro <dmauro@google.com>:
Don't use the SSE2 implementation of container_internal::Group
with -funsigned-char under GCC.
This is a workaround for https://github.com/abseil/abseil-cpp/issues/209.
_mm_cmpgt_epi8 is broken under GCC with -funsigned-char.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87853
PiperOrigin-RevId: 219666066
GitOrigin-RevId: 4e224c85c3730398919fc5195cb1fc7a752e6e4f
Change-Id: I2f115d0256576cf476ae73a9464c21d4106a2a56
--
9e8aa654630015ea8221703b0ea10dd1a47a848f by Abseil Team <absl-team@google.com>:
Fix typo
PiperOrigin-RevId: 219474910
--
b1621572fb5a326642766f9f0f16abc3620dd6e8 by Xiaoyi Zhang <zhangxy@google.com>:
Applies https://github.com/abseil/abseil-cpp/pull/194 to fix raw_hash_map
build issues for Windows VS 15.8.
PiperOrigin-RevId: 219473484
--
a61df296bc5449261c6deccb6410df83d560d210 by Jon Cohen <cohenjon@google.com>:
Remove reference to ABSL_COMPILE_CXXFLAGS in our cmakelists files. It wasn't used, but we will soon instead use an INERFACE target with target_compile_options for the compile options needed for Abseil.
PiperOrigin-RevId: 219352641
--
0d9536a26c03229df3e782e78a8211e450259af2 by Abseil Team <absl-team@google.com>:
Add missing dependencies on base:core_headers
PiperOrigin-RevId: 219320098
--
5693e836e4ec4ce23315f3a7846c12c64cf3d5ab by Abseil Team <absl-team@google.com>:
Remove dynamic_annotations from core_headers, and add core_headers to CMakeLists.
PiperOrigin-RevId: 219306959
GitOrigin-RevId: 9e8aa654630015ea8221703b0ea10dd1a47a848f
Change-Id: Ie52b9fa7ab1285b6846ceea5503caf744e7303d8
--
ba4dd47492748bd630462eb68b7959037fc6a11a by Abseil Team <absl-team@google.com>:
Work around nvcc 9.0 compiler bug for open-source Tensorflow build.
With the current implementation, when I (unintentionally and transitively)
include absl/types/optional.h in a CUDA compilation unit, I get the following
nvcc error message:
INFO: From Compiling tensorflow/core/kernels/crop_and_resize_op_gpu.cu.cc:
external/com_google_absl/absl/types/optional.h: In member function 'void absl::optional_internal::optional_data_dtor_base<T, <anonymous> >::destruct()':
external/com_google_absl/absl/types/optional.h:185:50: error: '__T0' was not declared in this scope
data_.~T();
I've also seen similar compilation failures online, for flat_hash_map:
https://devtalk.nvidia.com/default/topic/1042599/nvcc-preprocessor-bug-causes-compilation-failure/
The bug is always around unnamed template parameters. Therefore, the workaround is to make them named.
PiperOrigin-RevId: 219208288
--
dad2f40cb2e8d5017660985ef6fb57f3c3cdcc80 by CJ Johnson <johnsoncj@google.com>:
Adds internal macros for catching and throwing unknown exception types
PiperOrigin-RevId: 219207362
--
0a9840328d2d86e8420b853435fdbf1f7a19d931 by Abseil Team <absl-team@google.com>:
Fix typo in mutex.h comments.
PiperOrigin-RevId: 219199397
--
0d576dc7597564210bfdf91518075064756f0bf4 by Matt Calabrese <calabrese@google.com>:
Internal change.
PiperOrigin-RevId: 219185475
--
66be156095571959fb19a76da8ad0b53ec37658e by Abseil Team <absl-team@google.com>:
Fix alignment conformance for VS 2017 >= 15.8 (fix#193)
PiperOrigin-RevId: 219129894
--
a6e1825a12587945f8194677ccfdcaba6f7aad1d by Abseil Team <absl-team@google.com>:
Reapply PR #173
PiperOrigin-RevId: 219129361
--
cf72ade4881b25acc6ccaea468f69793a0fdce32 by Abseil Team <absl-team@google.com>:
Update .gitignore
PiperOrigin-RevId: 219127495
--
0537490c6348a2cb489abe15638928ac5aa6982a by Jon Cohen <cohenjon@google.com>:
Small refactor and reformat of error messages from the exception safety test framework.
PiperOrigin-RevId: 218927773
--
4c556ca45fa25698ad12002a00c713aeceefab73 by CJ Johnson <johnsoncj@google.com>:
Updates the inlined vector swap tests to check for number of moves that took place if available
PiperOrigin-RevId: 218900777
--
dcbfda0021a1e6dfa9586986b1269c06ec394053 by Mark Barolak <mbar@google.com>:
Add parens around calls to std::numeric_limits<>::min and
std::numeric_limits<>::max to prevent compilation errors on Windows platforms
where min and max are defined as macros.
PiperOrigin-RevId: 218888700
GitOrigin-RevId: ba4dd47492748bd630462eb68b7959037fc6a11a
Change-Id: I0e393958eb8cb501b85f6114979f6d4d86ed996c
--
dabd5614eec687a27bcba28e1d98e84ce716f281 by Abseil Team <absl-team@google.com>:
Demonstrate that std::bitset is supported by AbslHash, both with a comment and
a test.
PiperOrigin-RevId: 218782040
GitOrigin-RevId: dabd5614eec687a27bcba28e1d98e84ce716f281
Change-Id: I777d5e030ba8c6b8a2a353e29ace87484caa811f
--
441d1aa02483cdc510eb2fef012b31384fd8e3a6 by Eric Fiselier <ericwf@google.com>:
Fix str_format with non-POSIX libc implementations.
PiperOrigin-RevId: 218441122
--
da6190130e74222af6eb161a5593364341370370 by Jon Cohen <cohenjon@google.com>:
Refactor ExceptionSafetyTester::Test in order to remove the levels of indirection related to unpacking tuples.
PiperOrigin-RevId: 218403355
GitOrigin-RevId: 441d1aa02483cdc510eb2fef012b31384fd8e3a6
Change-Id: I6f6b978eb96fe261e8ee41ecdce185e5356a601d
--
fe689b30f9a3a614e8a577997cc340043d01c2f1 by Abseil Team <absl-team@google.com>:
Change arm32 linux backtrace to use the generic implementation.
PiperOrigin-RevId: 218386158
--
86f8678d055d32edc989e6a4d1dc49c3a15cd350 by Abseil Team <absl-team@google.com>:
Update documentation on SHARED_LOCKS_REQUIRED and EXCLUSIVE_LOCKS_REQUIRED so that users know the differences between them.
PiperOrigin-RevId: 218365545
--
22947b48ce4a1ba71ad4794f762235dac3a1df12 by Greg Falcon <gfalcon@google.com>:
The from_chars implementation incorrectly assumed `uint32_t` was `unsigned int`.
`strings_internal::BigUnsigned` had `uint32_t` and `uint64_t` constructors; when both of these types differ from `unsigned int`, `BigUnsigned(1u)` is ambiguous (neither conversion is better).
Fix this by removing the `uint32_t` constructor. When the `uint64_t` constructor is called with a literal or type that is 32 bits or narrower, the compiler is smart enough to optimize away the two-word case, so this fix is free.
PiperOrigin-RevId: 218346935
--
7201ab430bb90ca0e30b102915d02564f61353eb by Abseil Team <absl-team@google.com>:
Fix formatting errors discovered during merge conflict.
PiperOrigin-RevId: 218229891
GitOrigin-RevId: fe689b30f9a3a614e8a577997cc340043d01c2f1
Change-Id: I5d382482ad227d48ffe57b243ce11b1eb44a1314
--
4e043a11b4c10a24e84046827ee16f47e11e35cc by Abseil Team <absl-team@google.com>:
Merge of https://github.com/abseil/abseil-cpp/pull/136
PiperOrigin-RevId: 218197648
--
e61f06e1e601061a443feaa8c5207c52437bd641 by Abseil Team <absl-team@google.com>:
Don't include <iostream> into int128, it's wasteful
Including iostream emits a global constructor for initializing std::cout and
friends, which isn't actually used by this file.
PiperOrigin-RevId: 218156386
--
8a6c82396e4c956be7f285328aec131cb4965f16 by Xiaoyi Zhang <zhangxy@google.com>:
Fix MSVC compiler warnings on discarding return values of functions with 'nodiscard'
attribute.
PiperOrigin-RevId: 217883401
--
abf3e3a0f22bc4070df9dbc9a4ef4d883ed686bf by Tom Manshreck <shreck@google.com>:
Update public README to add new libraries
PiperOrigin-RevId: 217879399
--
43b3b420a4e861711abbfbd497b8f2b3de17ec8c by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 217780963
--
1c8831947ca6a65a63842e6bd5f37a7c102a4e1b by Abseil Team <absl-team@google.com>:
Fix typo in a comment (missing comma in usage example).
PiperOrigin-RevId: 217776645
GitOrigin-RevId: 4e043a11b4c10a24e84046827ee16f47e11e35cc
Change-Id: I8999ae928da7a0030b4ecfd8d13da8522fdd013a
--
578b3ed641b8d92769a34d73389dfff5559925e6 by Abseil Team <absl-team@google.com>:
Prevents tail call optimization for
GetStackFrames[WithContext]/GetStackTrace[WithContext] functions, so the
skipped frames will not change because of optimization difference.
PiperOrigin-RevId: 217342437
--
31fad1337e146a6ec74ae887d95920373e36c8dd by Abseil Team <absl-team@google.com>:
Fixed syntax on flat_hash_set documentation for insert.
PiperOrigin-RevId: 217208659
GitOrigin-RevId: 578b3ed641b8d92769a34d73389dfff5559925e6
Change-Id: I121c42861e8321ab561326978ac8972c68f066d0
--
f4e870453d02106c2685e0461816469a4704ad25 by Abseil Team <absl-team@google.com>:
Expose TimeZone::NextTransition() and PrevTransition() now that
we have absl::CivilSecond support in time.h. Note that these are
for informational purposes only. General time code should not
care when offset changes occur.
PiperOrigin-RevId: 217177292
--
cfadd275c7333f7c27c4d682b9d167010d874e69 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 217153577
--
6ff5b8c61a1239b9c0478a7c62bcd2844b310307 by Jon Cohen <cohenjon@google.com>:
Fix code examples in hash_testing.h. Includes random clang-format changes.
PiperOrigin-RevId: 216898995
--
de124129d27f4627dabe193a10bf106a11783fba by Shaindel Schwartz <shaindel@google.com>:
Add contribution guidelines describing how we decide whether to include an API in Abseil.
PiperOrigin-RevId: 216886943
GitOrigin-RevId: f4e870453d02106c2685e0461816469a4704ad25
Change-Id: Ib9c6706f5bf931b71c0357bf1342053a3bee8ff7
--
fa894a667a3bebbe479539c8d5e829beebf36c27 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 216855907
--
59e0a42fa9045eb164573b82ce625248bd9999f3 by Jon Cohen <cohenjon@google.com>:
Some edits to the documentation for absl::Hash as I was reading through it.
Itemized changes:
* implement -> implements for grammar
* Fix an incomplete sentence
* specify *any* type T as opposed to *a* type T ? this is just the language I tend to see for these sorts of concepts in math and makes it more clear that we?re talking about a set of all types T satisfying these constraints
* add arguments to comine() and combine_contiguous() ? this was mostly because for hash_continuous there was a reference to `size` elements without any mention of what `size` was.
PiperOrigin-RevId: 216766923
--
c2a744d0f70ec5a079c22502b7a7ca72805a29dc by Shaindel Schwartz <shaindel@google.com>:
Remove unneeded include.
PiperOrigin-RevId: 216703710
--
ad22fc4e3d236f7bd354b61e0fa37ea524a7cf5e by Shaindel Schwartz <shaindel@google.com>:
Fix typos.
PiperOrigin-RevId: 216699071
GitOrigin-RevId: fa894a667a3bebbe479539c8d5e829beebf36c27
Change-Id: I35c8d8be66043aad9f17bbb867e69acb770bd1b0
--
906c47420646d510edd2479d5542c56f5fa31b65 by CJ Johnson <johnsoncj@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 216573923
--
74560d4afd2b605909e677c6fc3076049fb3010a by Eric Fiselier <ericwf@google.com>:
Avoid -Wformat-pedantic in benchmark.
PiperOrigin-RevId: 216523769
--
9bcc9da8b03e6d1ea43ee78931256c5541cb9686 by Eric Fiselier <ericwf@google.com>:
Delete unused CityHash functions.
PiperOrigin-RevId: 216464492
--
a42563b394c89fbb4c55cb5a6a5edbf96d271eea by Abseil Team <absl-team@google.com>:
Introduce new Abseil interfaces for converting between civil
times and absolute times.s
Deprecates absl::ConvertDateTime() and absl::FromDateTime().
PiperOrigin-RevId: 216424948
--
088e11235124267517d7f137854fa5554679c24f by Eric Fiselier <ericwf@google.com>:
Remove unneeded break statements in test.
PiperOrigin-RevId: 216403321
GitOrigin-RevId: 906c47420646d510edd2479d5542c56f5fa31b65
Change-Id: Idb44420be623e369c66f5a9c92bdc9ab46d3ec92
--
714347c156cfe01575c1830a92bc6dea3030065b by Emma Christie <emmachristie@google.com>:
Release absl::EqualsIgnoreCase
PiperOrigin-RevId: 216243900
--
688106e2b9d2924799d597682690851cfba87818 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 216208373
--
53638e4da238b230af0e56dc31b9fb790e708f36 by Emma Christie <emmachristie@google.com>:
Update StartsWithIgnoreCase(), EndsWithIgnoreCase(), and EqualsIgnoreCase() headers to say that these functions only consider ASCII case inputs.
PiperOrigin-RevId: 215930962
GitOrigin-RevId: 714347c156cfe01575c1830a92bc6dea3030065b
Change-Id: I7fb3506234185b1a961e0110c1f8302ffe7228fa
--
e09635c907d471ab46e14fb8091988c92cb4e78e by Abseil Team <absl-team@google.com>:
Fix syntax error in documentation '}' -> ')'
PiperOrigin-RevId: 215744854
--
a9e2d036850748137355f4a07083f1052d5c3766 by Abseil Team <absl-team@google.com>:
WrapUnique's comment about avoiding explicit template specification
doesn't make clear what alternative there is when this hurts
readability. Add a comment about the approved alternative.
PiperOrigin-RevId: 215634917
--
596b8ff41ff70b27bff3a2369038c0fe7d13ae85 by Greg Falcon <gfalcon@google.com>:
Allow for a small amount of slop in timeout tests, as not all OSs we support give us the perfect timing behavior we're testing for here.
PiperOrigin-RevId: 215615172
GitOrigin-RevId: e09635c907d471ab46e14fb8091988c92cb4e78e
Change-Id: I30721294bac86510a49bb7f405149fc74c532abb
--
1c1d6e2404dfc6caa022b335df5acdac6da50fe1 by Derek Mauro <dmauro@google.com>:
Fix the internal namespacing in unaligned_access.h
PiperOrigin-RevId: 215434506
--
17d4400aebf025a230690fc1c7a968ef8d85bbba by Eric Fiselier <ericwf@google.com>:
gtest depends on the GCC extension allowing variadic macros
to be passed a empty parameter pack for ..., but LLVM diagnoses
this as a GNU extension.
This patch suppresses the warning when building the absl tests.
PiperOrigin-RevId: 215426161
--
f2c49dde23a9f445b9de963f1bbe840ebb568b30 by Eric Fiselier <ericwf@google.com>:
Use EXPECT_DEATH_IF_SUPPORTED instead of EXPECT_DEATH.
This avoids breaking the test when gtest doesn't support
death tests.
PiperOrigin-RevId: 215423849
--
cd687c1e121709603f4fc3726b534f6a9c52cc89 by Eric Fiselier <ericwf@google.com>:
Disable LLVM's -Wmissing-variable-declarations in tests.
GCC's configuration already disables this via -Wno-missing-declarations,
this change makes LLVM do the same.
The warning would otherwise flag most tests which use ABSL_FLAG.
PiperOrigin-RevId: 215407429
--
d14098824c84e3a8c8f6fb920e0335fb48fe2010 by Eric Fiselier <ericwf@google.com>:
Fix local variable shadowing in city hash implementation.
PiperOrigin-RevId: 215407249
--
4b5e140ba743f0d231790a26c49083abb4329e2c by Abseil Team <absl-team@google.com>:
Make raw_hash_set::reserve 2X fast when reserve doesn't do any allocation.
Make raw_hash_set::reserve ~1% faster when reserve does some (128~4k) allocation.
PiperOrigin-RevId: 215348727
--
461161e65e04b801480aa117af2534c594654ccf by Eric Fiselier <ericwf@google.com>:
Internal change
PiperOrigin-RevId: 215272283
--
50413ae31ad3d3a177257416acd8ede47a17bff2 by Eric Fiselier <ericwf@google.com>:
Internal Change
PiperOrigin-RevId: 215233183
--
477be54c43d61019a8fe4e190e340eb52737d383 by Abseil Team <absl-team@google.com>:
Clarify misleading comment on ABSL_ATTRIBUTE_UNUSED
PiperOrigin-RevId: 215185496
--
2cafa2b5287507d3a946682aee9ab13af6d471c9 by Matt Kulukundis <kfm@google.com>:
Add support for absl::Hash to various absl in types.
PiperOrigin-RevId: 215039569
--
082248901991aa3d29be0ea3689c7f213cf0fd83 by Derek Mauro <dmauro@google.com>:
Remove an instance of HAS_GLOBAL_STRING from hash_function_defaults.h
PiperOrigin-RevId: 214989094
--
b929f61907f0786a6133e3a9d7287e339c0a0acb by Derek Mauro <dmauro@google.com>:
Internal import of Github #174
Fix code snippet in comment
https://github.com/abseil/abseil-cpp/pull/174
PiperOrigin-RevId: 214958849
--
f2c5e829eca11c352e121f56eefbf87083305023 by Derek Mauro <dmauro@google.com>:
Internal import of GitHub #173
Fix CMake build for absl::container.
https://github.com/abseil/abseil-cpp/pull/173
PiperOrigin-RevId: 214957796
--
d704f860f9fddafb99e34e6c5032e49f73874e10 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 214828181
GitOrigin-RevId: 1c1d6e2404dfc6caa022b335df5acdac6da50fe1
Change-Id: I551de2b1ba0cbaf6856cd5959358cf6651179dea
* Fix CMake build after Swissmap addition
`absl::container` library now contains source files so needs to be
respectively built for CMake as well.
Switches `absl::container` from being a header library to a source
library.
* Add raw_hash_set_test to CMake test build
--
87c9505f1d41b52486630ae4404b9060b89a6369 by Abseil Team <absl-team@google.com>:
Fix wording in a comment.
PiperOrigin-RevId: 214606367
GitOrigin-RevId: 87c9505f1d41b52486630ae4404b9060b89a6369
Change-Id: Icb95299b88e65840dfbc415b515412b24d578ce9
--
eca34da4ccb7bb6a580f1364dff9ca053418fa3b by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 214305433
--
35393bdd21a87c4286f945fd34dda93afc4e0cd6 by Abseil Team <absl-team@google.com>:
Move some implementation details of string_view around to facilitate compiling on NVCC.
Abseil does not officially support NVCC as a reminder.
PiperOrigin-RevId: 214184876
--
61846cab9ab9476a4676ecade7173f68978cd038 by Jorg Brown <jorg@google.com>:
Move the initialization values for constants back to their declaration.
PiperOrigin-RevId: 214135927
--
7ac7df6c5f78f2faf419268c04618b936cb26065 by Abseil Team <absl-team@google.com>:
Performance improvements on format parser.
PiperOrigin-RevId: 214032366
--
90b4c0cf20e9feaa257a7ece40adaf7db40a60a7 by Xiaoyi Zhang <zhangxy@google.com>:
Add static_assert check to absl::visit to make sure all overloads of the visitor return the same type, as required by the C++ standard.
PiperOrigin-RevId: 213677001
--
787995342101b4c181291cde9ecea3048536e4bd by Abseil Team <absl-team@google.com>:
Update comment to indicate finite durations are less than InfiniteDuration.
PiperOrigin-RevId: 213660328
--
d78f0dce7cc31218807e96d93b9e8513b6c80b24 by Jon Cohen <cohenjon@google.com>:
s/invariant/contract in the exceptions safety testing framework. This is a better term as these can be type invariants or function post conditions. They also are very similar ground as to what is covered by c++20 Contracts (and could even be replaced by them.
PiperOrigin-RevId: 213631019
--
0b3ff1a640de9a7391a6c233568802cf86245b0e by Abseil Team <absl-team@google.com>:
Add noinline attribute for GetStackTrace/GetStackFrames/... so the skipped frames will not change because of inlining difference.
PiperOrigin-RevId: 213009637
GitOrigin-RevId: eca34da4ccb7bb6a580f1364dff9ca053418fa3b
Change-Id: Iff1022fd24e440fcbdf3c4ab2a915ca8954daa31
--
821196cfb2a3b943ffdc4c9e75daec92d7ffb28b by Abseil Team <absl-team@google.com>:
Performance improvements
PiperOrigin-RevId: 212668992
--
704858e2e767016bad27d53eec01d9d48e546b23 by Abseil Team <absl-team@google.com>:
Low-level Portability enchancements for Abseil Mutex on WebAssembly.
Emscripten Pthreads do not use signals, so remove use of pthread_sigmask or
other async-signal-safe related handling code.
PiperOrigin-RevId: 212527958
--
be3e38cb4d493b755132d20c8c2d1a51e45d5449 by Jon Cohen <cohenjon@google.com>:
Internal change.
PiperOrigin-RevId: 212523797
GitOrigin-RevId: 821196cfb2a3b943ffdc4c9e75daec92d7ffb28b
Change-Id: I5694e23e4e09364a15dd6fc4e2e3f15e38835687
--
74c1330e29f1501f2738258faf9ec4564395c90a by Gennadiy Civil <misterg@google.com>:
Merging https://github.com/abseil/abseil-cpp/pull/166
PiperOrigin-RevId: 212487256
--
4ac236574ff8fb3cc1125505292b0bd8c8192da9 by Abseil Team <absl-team@google.com>:
Allow c_move to take rvalue containers.
PiperOrigin-RevId: 212458618
--
ce94e23984870db666d4c91623ae45b3c60b5b61 by Matt Armstrong <marmstrong@google.com>:
Internal change.
PiperOrigin-RevId: 212153041
--
7d88d286821c5839934756dd63a704ed162c49cb by Chris Kennelly <ckennelly@google.com>:
Internal change
PiperOrigin-RevId: 211982309
--
ddae814b3f609948c20551ea3d80bf51b973f480 by Abseil Team <absl-team@google.com>:
Remove unused argument from InlinedVector's AllocatorAndTag
This is not part of InlinedVector's public interface.
PiperOrigin-RevId: 211973017
--
051fbfd81648a8da66c62c6603af63038d709c15 by Abseil Team <absl-team@google.com>:
Minor performance fix
PiperOrigin-RevId: 211820453
--
c205cb2add7400bc8caf2131cb700eea560b7dbf by Laramie Leavitt <lar@google.com>:
Make absl::Span a tiny bit more consistent.
Add constexper to equivalent absl::Span members as described by
http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0122r7.pdf
* Span constructor use consistently delegate to Span(ptr, length)
* Mark more member methods as constexpr.
* Use data() and size() consistently in member methods.
PiperOrigin-RevId: 211707244
--
55500c9e941f2f58f4a95c121f32772408866eee by Derek Mauro <dmauro@google.com>:
Stop catching polymorphic exception types by value.
GCC 8 emits a warning for this.
PiperOrigin-RevId: 211684466
GitOrigin-RevId: 74c1330e29f1501f2738258faf9ec4564395c90a
Change-Id: Iceab4a5b30ee35d82ef494830262ad29c028cb0a
--
86b1c997fac1f77b0eacfab788659b5a89a6096e by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 211654320
--
299b70e1247df768454a76eb957a184de9706f61 by Chris Kennelly <ckennelly@google.com>:
Avoid creating a misaligned reference to int.
PiperOrigin-RevId: 211505883
--
c8fad4357ad0bfb3c5ad197c505509bc087072c9 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 211458539
--
0613feffcd36466c3e53a50758d7e8f17c001dce by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 211100748
GitOrigin-RevId: 86b1c997fac1f77b0eacfab788659b5a89a6096e
Change-Id: Ic6a932b6c27c6762dcdb3b0127f1e2be782418c1
--
9c6654a316935ab097ccf462d506c02626373f0a by Tom Manshreck <shreck@google.com>:
Update comment on CUnescape() to note on failure it leaves its output param in an unspecified state.
PiperOrigin-RevId: 210956338
GitOrigin-RevId: 9c6654a316935ab097ccf462d506c02626373f0a
Change-Id: Icf0aea66afb413a0334df27960f75387087c6629
--
ed4be0cb9a708158187a0628c1c2167ae6783274 by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 210798880
--
e4c734be903ac7b3a88caf4b17909343c283a21a by Abseil Team <absl-team@google.com>:
Add a note that the RFC3339_* format specifiers use %Y, and so
do not produce 4-digit years on output nor require 4-digit years
on input, as a strict reading of RFC3339 might require.
PiperOrigin-RevId: 210785544
--
cfb5e32f9397e49ddb731445a191b36652fe2f6d by Greg Falcon <gfalcon@google.com>:
Refactor a string unit test into a template function for internal purposes.
PiperOrigin-RevId: 210776525
--
105ee700e62869cfda2a37e6f7c2ea483f8fc75e by Xiaoyi Zhang <zhangxy@google.com>:
Correctly define ABSL_HAVE_STD_STRING_VIEW for MSVC 2017. Currently the macro
is not defined even though MSVC 2017 provides `std::string_view`, and this
means both `absl::string_view` and `std::string_view` exist as distinct types.
A bunch of places relying on the false assumption that
`string_view::const_iterator` is `const char*` have to be fixed to build
successfully.
See related github issue https://github.com/abseil/abseil-cpp/issues/161.
PiperOrigin-RevId: 210764947
GitOrigin-RevId: ed4be0cb9a708158187a0628c1c2167ae6783274
Change-Id: I7a9658b3201aa669db9d3d90474feb08072718c7
--
a371d3d4e213c65354dd0e8b1aa28673455aec2a by Matt Armstrong <marmstrong@google.com>:
Fix the C++17 build of absl/types/internal/variant.h.
If ABSL_HAVE_STD_VARIANT is defined this header is now a
nop. While no code should include this header in that case,
the build system may still try to compile it, for example,
if the Bazel parse_headers feature is on.
PiperOrigin-RevId: 210544253
GitOrigin-RevId: a371d3d4e213c65354dd0e8b1aa28673455aec2a
Change-Id: I9c02018b86293b7235fcc9e03fb54f1d86c4b096
--
de82143f509d8fd6e70efc9eaed35582054a7443 by Abseil Team <absl-team@google.com>:
Mark optional::reset() with the ABSL_ATTRIBUTE_REINITIALIZES attribute.
This prevents false positives in the clang-tidy check bugprone-use-after-move; it allows reset() to be called on a moved-from optional without any warnings, and the optional will thereafter be regarded as initialized again.
PiperOrigin-RevId: 210502364
--
e645e68c44df957271e109aca6d68af530e27d04 by Derek Mauro <dmauro@google.com>:
Mark //absl/synchronization:thread_pool as only visible to internal
Abseil targets since it is internal-only.
PiperOrigin-RevId: 210406260
--
09b53240efba9bf73190eaea91fe33b9eafc3529 by Abseil Team <absl-team@google.com>:
Add support for the [[clang::reinitializes]] attribute.
This will be used to prevent false positives in the clang-tidy check
bugprone-use-after-move.
PiperOrigin-RevId: 210377317
GitOrigin-RevId: de82143f509d8fd6e70efc9eaed35582054a7443
Change-Id: Ibac1ee694f7b5b9f5aff8670559e49505ff8ee11
--
2dcf3ec79f961d2962cdad33ac4bfbcb14126dad by Abseil Team <absl-team@google.com>:
Consolidate implementations of CountLeadingZeros and add new ones for
CountTrailingZeros.
Internal APIs only.
PiperOrigin-RevId: 209961247
--
4f3ac87c6928dab26faff962bb18aade9383f184 by Jorg Brown <jorg@google.com>:
Fix absl::CUnescape not to write to const_cast<char*>(str->data()), which does the wrong thing if the string type is copy-on-write
PiperOrigin-RevId: 209957656
--
c5103067be19dc88a4c32e5306154e5e3bba4673 by Tom Manshreck <shreck@google.com>:
Update comments in time library header files.
PiperOrigin-RevId: 209829588
--
fe36f9b6150243d2ac88e2a892d84c565c18cd2f by Abseil Team <absl-team@google.com>:
Clarifying the sample use of absl::LoadTimeZone function in the documentation.
PiperOrigin-RevId: 209782218
GitOrigin-RevId: 2dcf3ec79f961d2962cdad33ac4bfbcb14126dad
Change-Id: I3e2f87a8c543599b81eada58409a9bddc0b51ab8
--
f4bb8afa9376b4120f56f3beff7b07260da4a5c2 by CJ Johnson <johnsoncj@google.com>:
Add user to Github list
PiperOrigin-RevId: 209630262
GitOrigin-RevId: f4bb8afa9376b4120f56f3beff7b07260da4a5c2
Change-Id: I3fedf35011d805ee4a20b92e073b43523b47d15b
--
b01400905d2ba23ec9f4541153532eefcfb0d5f5 by Mark Barolak <mbar@google.com>:
Tweak the comment for WebSafeBase64Unescape to make it match the style of the other comments in escaping.h.
PiperOrigin-RevId: 209596034
--
dd35c55ee538ed458bb32494d87996d6624676df by Abseil Team <absl-team@google.com>:
Migrate FixedArray from allocator pointers to references. Also updates the name to be more generic as nothing about the implementation was specific to FixedArray's StorageElement*
PiperOrigin-RevId: 209438135
GitOrigin-RevId: b01400905d2ba23ec9f4541153532eefcfb0d5f5
Change-Id: I27304e4609708ec24fb19dce1e33215d7e4b5ae9
--
9850e5567db4ab7cf4928e68d1c6e232d9845fff by Abseil Team <absl-team@google.com>:
Add missing file parameter for FPrintF example.
PiperOrigin-RevId: 208238843
--
e3aa5daed78a2d38f0f19c20db93d6b9cca54041 by Abseil Team <absl-team@google.com>:
Internal cleanup.
PiperOrigin-RevId: 208216296
--
6ec960705441f7ae7383214160cf78244b0ac614 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 208111059
GitOrigin-RevId: 9850e5567db4ab7cf4928e68d1c6e232d9845fff
Change-Id: I3ceef9b66ffc8d434eb522f79479581975e780e6
--
7fb969986d7d5a1b30233a94ae7ea29e1abf8937 by Greg Falcon <gfalcon@google.com>:
Fix whitespace in str_join.h.
PiperOrigin-RevId: 208082852
--
85428003a8a29fbcd92c0b48708a69460eeb0e8f by Abseil Team <absl-team@google.com>:
Add missing back-ticks to the comments.
PiperOrigin-RevId: 207985417
--
0bbac248d5649ac1d7bc71ff1025a11332fb2026 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 207927484
--
f587324b99570b403b4626fb03fce16f0d950b05 by Abseil Team <absl-team@google.com>:
Update BaseCountedInstance to have comparison operators and allow them to be tracked by InstanceTracker.
PiperOrigin-RevId: 207919218
--
d7f410e4f15328412941f16e25ba3735d5bdfda6 by Derek Mauro <dmauro@google.com>:
Internal import of GitHub PR #153
Removed "warning treated as error" flag from MSVC
PiperOrigin-RevId: 207908806
--
59eefc78f8571ffc51cb636894015ce2580508d7 by Abseil Team <absl-team@google.com>:
Fix namespace references in examples from 'std::' to 'absl::'.
PiperOrigin-RevId: 207895230
--
151df17b6544222e29913b034a1296c0e14374d5 by Abseil Team <absl-team@google.com>:
Internal Change
PiperOrigin-RevId: 207894949
GitOrigin-RevId: 7fb969986d7d5a1b30233a94ae7ea29e1abf8937
Change-Id: I00097afbe9610ddb3f2330a2a86dcffde7bb6675
* Removed "warning treated as error" flag from MSVC
Setting the "warning treated as error" flag in public projects is problematic, because it can lead to compilation errors for users, when the compiler adds new warnings. This however, does not mean that the project has a bug, only that it emits a new warning. Nevertheless it still fails to compile.
--
36d990031b4ae8e2debaccca63ff41829383a7d2 by Derek Mauro <dmauro@google.com>:
Rename FailureSignalHandler to AbslFailureSignalHandler so that we
don't confuse poor souls.
PiperOrigin-RevId: 207539530
--
0ced19ef8e0e0887f9809ffb88c5ef5f8746a6aa by Abseil Team <absl-team@google.com>:
Minor changes to support WebAssembly.
PiperOrigin-RevId: 207286743
GitOrigin-RevId: 36d990031b4ae8e2debaccca63ff41829383a7d2
Change-Id: I6b86713e96f5c32b595171594e456e38c898e601
--
586c41e29e80d9613434f18347d4a70a92a90989 by Jon Cohen <cohenjon@google.com>:
Whitespace cleanup
PiperOrigin-RevId: 207119388
--
e28fc6932d68f7097918f3092079f07112e684c1 by Abseil Team <absl-team@google.com>:
Fix comment typo in mutex.h
PiperOrigin-RevId: 207024211
--
b7714a5f189b2863f9cfc285ba428ca2059b83f4 by Abseil Team <absl-team@google.com>:
Raise the floor for gcc from gcc 4.7 to gcc 4.8.
PiperOrigin-RevId: 207021220
--
262ae79150278ea1b4e512dfe8ff05c32768f429 by Matt Armstrong <marmstrong@google.com>:
Raise the floor for gcc from gcc 4.7 to gcc 4.8.
PiperOrigin-RevId: 206997741
--
5aba0b15eaf6c5beff0e91670a7cdf5ad1151886 by Derek Mauro <dmauro@google.com>:
Use std::chrono to get the current time on both Apple and Windows
platforms, eliminating the unnecessarily complicated logic on Apple
platforms.
PiperOrigin-RevId: 206979219
--
807a91adf876f7532050d442f00268754c0f260b by Derek Mauro <dmauro@google.com>:
Fix multiple definition problem when Abseil is combined with
gperftools on PowerPC.
https://github.com/abseil/abseil-cpp/pull/152
PiperOrigin-RevId: 206963083
GitOrigin-RevId: 586c41e29e80d9613434f18347d4a70a92a90989
Change-Id: I0ee65a733c423890b97dd3500f2d17449792387c
--
ac7508120c60dfe689c40929e416b6a486f83ee3 by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 206912089
--
bd709faba88565367b6d337466e6456481b5f3e8 by Matt Calabrese <calabrese@google.com>:
Implement `std::experimental::is_detected` in type_traits internals and move `is_detected_convertible` from variant's internals to type_traits internals. This is in preparation of creating workarounds for broken standard traits.
PiperOrigin-RevId: 206825598
--
0dbddea569370eb9b6348cee172d1874f9046eb4 by Jorg Brown <jorg@google.com>:
Support users who turn on floating-point conversion warnings
PiperOrigin-RevId: 206813209
--
30991f757c8f0100584619d8a9c41897d029f112 by Jorg Brown <jorg@google.com>:
Speed up the absl::Seconds() function for floating-point values, roughly by 4.5x, since
we can take advantage of the fact that we're just taking a floating-point number and
splitting it into its integral and fractional parts.
PiperOrigin-RevId: 206806270
--
6883837176838aa5a517e7a8cb4c99afd24c0d12 by Jon Cohen <cohenjon@google.com>:
Remove the DISABLE_INSTALL from absl_container. It doesn't do anything.
PiperOrigin-RevId: 206802544
--
92ab14fed06e6dd1f01a0284bd7f95d3e2c0c3d8 by Jon Cohen <cohenjon@google.com>:
Internal change
PiperOrigin-RevId: 206776244
--
17b76c7f364ac562d9e0faeca0320f63aa3fdb85 by Jorg Brown <jorg@google.com>:
Fix absl/strings:numbers_test flakiness due to exceeding the 1-minute timeout
PiperOrigin-RevId: 206763175
--
6637843f2e198b8efd90e5577fbc86bdea43b2cc by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206354178
--
bced22f81add828c9b4c60eb45554d36c22e2f96 by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206347377
--
75be14a71d2d5e335812d5b7670120271fb5bd79 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 206326935
--
6929e43f4c7898b1f51e441911a19092a06fbf97 by Abseil Team <absl-team@google.com>:
Adds templated allocator to absl::FixedArray with corresponding tests
PiperOrigin-RevId: 206326368
--
55ae34b75ff029eb267f9519e577bab8a575b487 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 206233448
--
6950a8ccddf35d451eec2d02cd28a797c8b7cf6a by Matt Kulukundis <kfm@google.com>:
Internal change
PiperOrigin-RevId: 206035613
GitOrigin-RevId: ac7508120c60dfe689c40929e416b6a486f83ee3
Change-Id: I675605abbedab6b3ac9aa82195cbd059ff7c82b1
building anything, e.g. envoy, that also builds gperftools, results in
the error that StacktracePowerPCDummyFunction was previously defined.
Rename this one, as its only a dummy function and is only used in this
one place.
Signed-off-by: Christy Norman <christy@linux.vnet.ibm.com>
--
eb6cc81ef7e89e10fc9df47418af93e22fd116d2 by Abseil Team <absl-team@google.com>:
Workaround clang bug https://bugs.llvm.org/show_bug.cgi?id=38289
PiperOrigin-RevId: 206006290
--
509e9829295bfc429b82de42f2e073c756ea5709 by Jon Cohen <cohenjon@google.com>:
Remove make_unique ambiguity when using gcc 4.9 in C++14 mode.
gcc 4.9.4 has __cplusplus at 201300L instead of 201402L when in C++14 mode, I guess indicating incomplete support. Anyways, it causes a problem with this check as in c++14 mode in old gcc we were defining absl::make_unique when std::make_unique was present
PiperOrigin-RevId: 205886589
GitOrigin-RevId: eb6cc81ef7e89e10fc9df47418af93e22fd116d2
Change-Id: I9acf3f3d0fd3b0b46ae099821f3bf21b72c28b2b
--
ee644a89fb1429d9337852690a01182853f68964 by Derek Mauro <dmauro@google.com>:
Lower the thread limit in the Mutex benchmark on some platforms.
https://github.com/abseil/abseil-cpp/issues/147
PiperOrigin-RevId: 205663768
GitOrigin-RevId: ee644a89fb1429d9337852690a01182853f68964
Change-Id: Ic5db4061809aa65f73e6a63dba90b2554376b38c
--
298d93fcb860116111611a8ab0662b409734227a by Alex Strelnikov <strel@google.com>:
Release ascii_benchmark.
PiperOrigin-RevId: 205275981
--
73a01469e5862eefbe5ef9d434f45b7073476272 by Abseil Team <absl-team@google.com>:
Internal cleanup
PiperOrigin-RevId: 205236717
--
53d6338bf49dab95bd0fbb5bbcd56970c6b868c2 by Abseil Team <absl-team@google.com>:
Removes InlinedVector's dependency on bitwise operators for size_type
PiperOrigin-RevId: 205236134
GitOrigin-RevId: 298d93fcb860116111611a8ab0662b409734227a
Change-Id: I754f5eea889567add2dbbdea358a533f54a912dd
--
60bc1e62580e0ff352a92c785f29550c2000447d by Xiaoyi Zhang <zhangxy@google.com>:
Import Github PR https://github.com/abseil/abseil-cpp/pull/143.
absl/synchronization/internal/kernel_timeout.h uses INFINITE macro that comes from windows.h that is included by winsock2.h that is included by absl/time/time.h. This internal header will be included by public header. It should not depend on windows.h.
PiperOrigin-RevId: 205109009
--
1617f0a333a8030e4e4c0bc1eef71f4a5fe9874d by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 205101804
--
8dce298b8c96c12c423943a366a4d92a554366c4 by Chris Kennelly <ckennelly@google.com>:
Define UNALIGNED_LOAD/STORE macros for UNDEFINED_BEHAVIOR_SANITIZER.
When using UBSan in trap mode (that is, without the ubsan runtime library), the
x86 macros can cause alignment errors as they assume unaligned loads/stores are
permitted. The macros defined in the presence of
{ADDRESS,THREAD,MEMORY}_SANITIZER require the runtime library.
PiperOrigin-RevId: 205096794
GitOrigin-RevId: 60bc1e62580e0ff352a92c785f29550c2000447d
Change-Id: I65a6cc86a711796c9d3a605310d67795b9f76ce9
--
28b634d3e8e879546e20006b81086a2b02390f1d by Abseil Team <absl-team@google.com>:
Indicate Solaris / Illumos has mmap support
https://github.com/abseil/abseil-cpp/pull/139
This change is **untested** as Abseil does not officially support Solaris/Illumos.
PiperOrigin-RevId: 205094615
--
3c4cc80abcd91c6cd88209a61b50936d1c498bac by Xiaoyi Zhang <zhangxy@google.com>:
Make is_trivially_copy_assignable work with reference types.
PiperOrigin-RevId: 204982099
--
98c6658b3d6cd5eddba9f498747dc84c172ffe05 by Abseil Team <absl-team@google.com>:
Fix typo in comments for c_mismatch.
PiperOrigin-RevId: 204962537
--
deef8b23585f7831d67c1d4b1c9ef7f3e30d9028 by Matt Kulukundis <kfm@google.com>:
Internal change
PiperOrigin-RevId: 204956873
GitOrigin-RevId: 28b634d3e8e879546e20006b81086a2b02390f1d
Change-Id: I1da029f8cb83d83ee5a05f3b0c6a07bc3dd5368e
--
ffe43f972f956e3f9a8fb7b68993d243ba8f79fb by Abseil Team <absl-team@google.com>:
Replace usage of soon-to-be-deprecated http_archive rule with Skylark equivalent
https://github.com/abseil/abseil-cpp/pull/138
PiperOrigin-RevId: 204939972
--
24021d7aec96ed013333760fba590eba5a9ddf63 by Abseil Team <absl-team@google.com>:
Remove incorrect constraint that StrSplit only works on std::strings; rather, it works on anything string-like.
PiperOrigin-RevId: 204761431
--
ce61d3b0ac163caa1156817f3d1a997d9376a3f3 by Derek Mauro <dmauro@google.com>:
Support s390/s390x in examine_stack.cc (GitHub issue #135).
This is UNTESTED (no machine to test on).
PiperOrigin-RevId: 204756692
--
68ecab659a95d713c4342fe9e8008c4cdf6abfc1 by Derek Mauro <dmauro@google.com>:
Update WORKSPACE.bazel Gogole Test dependency, remove the unused RE2 dependency.
PiperOrigin-RevId: 204741814
--
891e185522f0934e3b48a75617be5fc859d75dbd by Derek Mauro <dmauro@google.com>:
Fix endian_test.cc on big endian platforms.
GitHub issue #135
PiperOrigin-RevId: 204738726
--
9becfa12fbb525cd97e5695b94677bd3ea3f61b0 by Abseil Team <absl-team@google.com>:
Improve error messages in absl::variant by splitting up the conditions in the valid type static_assert.
This makes it slightly easier to determine what type is causing issues.
PiperOrigin-RevId: 204508430
GitOrigin-RevId: ffe43f972f956e3f9a8fb7b68993d243ba8f79fb
Change-Id: Icc5e4e8cd1a4cea98dfbed794cd992b734812e1d
--
50154b443b21a5123c50bebcfb866581e2e5b907 by Xiaoyi Zhang <zhangxy@google.com>:
Import https://github.com/abseil/abseil-cpp/pull/144
PiperOrigin-RevId: 204482647
--
ffefb7e0f9861a24296e672a5e32bbb56051239a by Abseil Team <absl-team@google.com>:
Cast ABSL_MIN_LOG_LEVEL to absl::LogSeverity rather than casting severity to int. This allows it to be defined symbolically e.g. -DABSL_MIN_LOG_LEVEL=absl::LogSeverity::kError.
PiperOrigin-RevId: 204347589
GitOrigin-RevId: 50154b443b21a5123c50bebcfb866581e2e5b907
Change-Id: I728baa8a3ad11ca28b731cc7979238c163e9c9a4
--
898e99cae89ca4cc27f86f719148f020d521dd58 by Abseil Team <absl-team@google.com>:
Update comment.
PiperOrigin-RevId: 204323401
--
b9d14db8b8a9dfb0e1cfb5967aaa0de1c4e94c42 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 204178059
--
f3b5a667611a588aa06fea9168e997ef5cffa7ac by Abseil Team <absl-team@google.com>:
Fix a potential reinterpret_cast compile error in absl::InlinedVector
The current code will trigger a reinterpret_cast error enhanced by llvm r336738.
PiperOrigin-RevId: 204131536
--
cc87d7a8302ad4471c1a25781d6ec19c2ce1524e by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 203979040
--
bc5cae3cfc72af1d3e786d5a3b59a47e205afec9 by Gennadiy Rozental <rogeeff@google.com>:
Internal: add internal logging hooks
PiperOrigin-RevId: 203850605
--
503655c248f557f677c920078613522b010e73c8 by Derek Mauro <dmauro@google.com>:
Cleanup stacktrace_config.h
Instead of listing the platforms that aren't supported, list the ones
we do support, and fallback to stacktrace_unimplemented-inl.inc at the
end. Previously any platform that wasn't listed gets "#error Not supported yet".
GitHub issue #135
PiperOrigin-RevId: 203823079
--
cb69925c4cacc14558cf103a09f218c37f466a16 by Abseil Team <absl-team@google.com>:
Fix a minor typo in absl::variant documentation.
PiperOrigin-RevId: 203679877
--
23a0e4db10039011fa5fd879fb73d2f2bbd17301 by Abseil Team <absl-team@google.com>:
Format .bzl files with buildifier
PiperOrigin-RevId: 203461813
--
1ad02616bdb715dfdc7f1a73313e383f4ededa03 by Abseil Team <absl-team@google.com>:
Make the absl::SleepFor() tests treat any successful retry within
a 48x deadline as a total success, thereby reducing flakiness.
PiperOrigin-RevId: 203401603
--
b3dccbbc6563ea0173527076a3fff21433d48f47 by Abseil Team <absl-team@google.com>:
Replace config_setting.values{"compiler"} with config_setting.flag_values{"@bazel_tools//tools/cpp:compiler"}
Due to changes in Bazel we need to change the way "compiler" is specified in config_setting. This will not change the behavior of the config_setting itself.
PiperOrigin-RevId: 203345693
--
170f1692537460a4ba1756d34852275899c2339b by Matt Armstrong <marmstrong@google.com>:
Address test flakiness in the TimeoutTest.
The basic idea is to loop forever until the expected
scheduling delays are observed (within reasonable bounds),
and only then assert the other invariants.
PiperOrigin-RevId: 203188162
GitOrigin-RevId: 898e99cae89ca4cc27f86f719148f020d521dd58
Change-Id: Ie853ec050afa3a04c519393afe666bc03e11dc87
--
71756e7176d15d52a4ee66cc25c088aedbca78f4 by Abseil Team <absl-team@google.com>:
internal change
PiperOrigin-RevId: 203131836
--
2e80b965b590fd6459f45413215690980eb50960 by Matt Calabrese <calabrese@google.com>:
Tighten type requirements for use of absl::bit_cast. Ideally, the constraints should depend on std::is_trivally_copyable, but a combination of supported configurations and lack of intrinsic support for bit_cast makes this not currently feasible. In a future change we should introduce more proper preprocessor branching and workarounds to better emulate the trait.
PiperOrigin-RevId: 202950382
GitOrigin-RevId: 71756e7176d15d52a4ee66cc25c088aedbca78f4
Change-Id: If58840d1e4d801817be85cbf99a475c31fa94fe0
--
aa9e2bff92652605b8244677058be787c872f99c by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 202702969
--
d26c857c203589892a84bc44d789f2a15a60f234 by Abseil Team <absl-team@google.com>:
Cleans up the FixedArray code (formatting, renames, etc) without changing the functionality
PiperOrigin-RevId: 202538159
GitOrigin-RevId: aa9e2bff92652605b8244677058be787c872f99c
Change-Id: I6561257232c6cc8e1cbf51d7e26bae5f8760551e
--
6769c6ebe79804063d68d70a5623a1475d63aeff by Alex Strelnikov <strel@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 202500218
--
c65cc4af08b8c48ca65f0816c1d2f59c7de7b0a5 by Derek Mauro <dmauro@google.com>:
Fix DirectMMap on s390x (GitHub #135).
This is *untested* because no s390x system is available.
PiperOrigin-RevId: 202484458
--
0ae7b628d7859cb3af169d007c29efd7917bb3ea by Abseil Team <absl-team@google.com>:
Changes the Holder's compile-type type decision making to a std::conditional for improved readability
PiperOrigin-RevId: 202340646
GitOrigin-RevId: 6769c6ebe79804063d68d70a5623a1475d63aeff
Change-Id: I8f9d049ee279b1b1e3381fdf7e6fe9a4ea228306
--
6bab63b2bcdbd768743c2ebcc4a8e19af20c5406 by Abseil Team <absl-team@google.com>:
Reformats inlined_vector.h to match the current Google lint rules
PiperOrigin-RevId: 202154101
--
00cdeda6ea24591a9cb8ac8b3c2e2a042e1b15b1 by Gennadiy Rozental <rogeeff@google.com>:
Improve SplitterIsConvertibleTo implementation.
PiperOrigin-RevId: 202095009
--
7c24071afac45a17c47e819896f844a36e239bda by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 201991288
GitOrigin-RevId: 6bab63b2bcdbd768743c2ebcc4a8e19af20c5406
Change-Id: Ic5a988ab39e78247285411f36287cd34d6f5afd3
--
8becce38c862a044db194a9aea1b505796a46d6f by Abseil Team <absl-team@google.com>:
Updates the FixedArray's constructors to be exception safe by preventing double deletions. Also adds exception safety tests for FixedArray to document/enforce the expected behavior.
PiperOrigin-RevId: 201964431
--
794188b401a602b4be97190fb8738066fe1f9ca5 by Derek Mauro <dmauro@google.com>:
Fixes for str_format.h documentation.
PiperOrigin-RevId: 201951760
--
beae3bdd6eee2cf61101102fddc35ada188f330b by Alex Strelnikov <strel@google.com>:
Add numeric_limits specialization for uint128.
Turns out numeric_limits is a case where the consensus is that it is okay to specialize for a user defined type.
PiperOrigin-RevId: 201944736
--
b2b3444a52b36878ade1ae8801e69932b05fc4f9 by Shaindel Schwartz <shaindel@google.com>:
Internal change.
PiperOrigin-RevId: 201718662
--
aa924c459922f39caabfc193998c58d0f4981ac0 by Abseil Team <absl-team@google.com>:
Typo fix.
PiperOrigin-RevId: 201692176
--
bbfcaa7b1af331d9b97c92470608240c5c864fbc by Xiaoyi Zhang <zhangxy@google.com>:
Use ABSL_HAVE_ANY/OPTIONAL/VARIANT to conditionally compile out the definition of absl::bad_any_cast, absl::bad_optional_access, absl::bad_variant_access. This would fix the issues where users #include those header directly in C++17 modes.
PiperOrigin-RevId: 201683792
GitOrigin-RevId: 8becce38c862a044db194a9aea1b505796a46d6f
Change-Id: I60a7ad043136a439d82c374d225a1804016b0509
--
70f43a482d7d4ae4a255f17ca02b0106653dd600 by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 201571193
--
93e6e9c2e683158be49d9dd1f5cb1a91d0c0f556 by Abseil Team <absl-team@google.com>:
Internal change.
PiperOrigin-RevId: 201567108
--
fbd8ee94fbe9f2448e5adf5e88706f9c8216048f by Juemin Yang <jueminyang@google.com>:
str_format release
PiperOrigin-RevId: 201565129
--
387faa301555a8a888c4429df52734aa806dca46 by Abseil Team <absl-team@google.com>:
Adds a defaulted allocator parameter to the size_type constructor of InlinedVector
PiperOrigin-RevId: 201558711
--
39b15ea2c68d7129d70cbde7e71af900032595ec by Matt Calabrese <calabrese@google.com>:
Update the variant implementation to eliminate unnecessary checking on alternative access when the index is known or required to be correct.
PiperOrigin-RevId: 201529535
--
adab77f1f7bb363aa534297f22aae2b0f08889ea by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 201458388
--
a701dc0ba62e3cadf0de14203415b91df4ee8151 by Greg Falcon <gfalcon@google.com>:
Internal cleanup
PiperOrigin-RevId: 201394836
--
8a7191410b8f440fdfa27f722ff05e451502ab61 by Abseil Team <absl-team@google.com>:
Import of CCTZ from GitHub.
PiperOrigin-RevId: 201369269
GitOrigin-RevId: 70f43a482d7d4ae4a255f17ca02b0106653dd600
Change-Id: I8ab073b30b4e27405a3b6da2c826bb4f3f0b9af6
--
7672429b51fa4edc9e2386f3d6ead89a33e523c0 by Xiaoyi Zhang <zhangxy@google.com>:
Work around a bug in MSVC 2015 which causes compiler error when building
variant_test with inline namespace for the LTS release.
The bug is reduced to https://godbolt.org/g/hvqDVz.
PiperOrigin-RevId: 201343049
--
dfe4f3869aa4b70dda69631816103e7b2c53c593 by Shaindel Schwartz <shaindel@google.com>:
Update date for LTS branch.
PiperOrigin-RevId: 201335133
--
9a8f41ddd0c75d5d2746141f61ba5736cfbde494 by Abseil Team <absl-team@google.com>:
Update bazel_toolchains to the latest commit.
PiperOrigin-RevId: 201231595
--
f6d5d5d08e638424073d0bc31bb4ed4d1ef512e2 by Tom Manshreck <shreck@google.com>:
Fix LTS wording, move to top level
PiperOrigin-RevId: 201054433
GitOrigin-RevId: 7672429b51fa4edc9e2386f3d6ead89a33e523c0
Change-Id: Id63a986870993889258f6364634a7880d226d187
f28d30df5769bb832dec3ff36d2fcd2bcdf494a3 by Shaindel Schwartz <shaindel@google.com>:
Internal change
PiperOrigin-RevId: 201046831
--
711715a78b7e53dfaafd4d7f08a74e76db22af88 by Mark Barolak <mbar@google.com>:
Internal fix
PiperOrigin-RevId: 201043684
--
64b53edd6bf1fa48f74e7f5d33f00f80d5089147 by Shaindel Schwartz <shaindel@google.com>:
Remove extra whitespace
PiperOrigin-RevId: 201041989
--
0bdd2a0b33657b688e4a04aeba9ebba47e4dc6ca by Shaindel Schwartz <shaindel@google.com>:
Whitespace fix.
PiperOrigin-RevId: 201034413
--
3deb0ac296ef1b74c4789e114a8a8bf53253f26b by Shaindel Schwartz <shaindel@google.com>:
Scrub build tags. No functional changes.
PiperOrigin-RevId: 201032927
--
da75d0f8b73baa7e8f4e9a092bba546012ed3b71 by Alex Strelnikov <strel@google.com>:
Internal change.
PiperOrigin-RevId: 201026131
--
6815d80caa19870d0c441b6b9816c68db41393a5 by Tom Manshreck <shreck@google.com>:
Add documentation for our LTS snapshot branches
PiperOrigin-RevId: 201025191
--
64c3b02006f39e6a8127bbabf9ec947fb45b6504 by Greg Falcon <gfalcon@google.com>:
Provide absl::from_chars for double and float types. This is a forward-compatible implementation of std::from_chars from C++17.
This provides exact "round_to_nearest" conversions, and has some nice properties:
* Works with string_view (it can convert numbers from non-NUL-terminated buffers)
* Never allocates memory
* Faster than the standard library strtod() in our toolchain
* Uses integer math in its calculations, so is unaffected by floating point environment
* Unaffected by C locale
Also change SimpleAtod/SimpleAtoi to use this new API under the hood.
PiperOrigin-RevId: 201003324
--
542869258eb100779497c899103dc96aced52749 by Greg Falcon <gfalcon@google.com>:
Internal change
PiperOrigin-RevId: 200999200
--
3aba192775c7f80e2cd7f221b0a73537823c54ea by Gennadiy Rozental <rogeeff@google.com>:
Internal change
PiperOrigin-RevId: 200947470
--
daf9b9feedd748d5364a4c06165b7cb7604d3e1e by Mark Barolak <mbar@google.com>:
Add an absl:: qualification to a usage of base_internal::SchedulingMode outside of an absl:: namespace.
PiperOrigin-RevId: 200748234
--
a8d265290a22d629f3d9bf9f872c204200bfe8c8 by Mark Barolak <mbar@google.com>:
Add a missing namespace closing comment to optional.h.
PiperOrigin-RevId: 200739934
--
f05af8ee1c6b864dad2df7c907d424209a3e3202 by Abseil Team <absl-team@google.com>:
Internal change
PiperOrigin-RevId: 200719115
GitOrigin-RevId: f28d30df5769bb832dec3ff36d2fcd2bcdf494a3
Change-Id: Ie4fa601078fd4aa57286372611f1d114fdec82c0
- 38311bf46f29bf1b20bdfe6c9b10c54e6258d28c Fix inlined_vector_benchmark when using libc++. libc++'s ... by Derek Mauro <dmauro@google.com>
- 32178d067d4af7c3062532103d213eb7230c2be6 Adding sha256 hashes to dependencies in Abseil OSS WORKSP... by Daniel Katz <katzdm@google.com>
- 13ac34416b326909f1ce0889ec0eb3bff3f3bebe Fix silly whitespace typo. by Daniel Katz <katzdm@google.com>
GitOrigin-RevId: d6b8d35be9659e1c99a5daca1af8c8587acaa044
Change-Id: I6be0d76930206edb79a10779bff3ffcc5ce856c9
- 78c61364007f6ab66155c151d0061bbec89c3dbd Update variadic visitation to use a switch statement when... by Matt Calabrese <calabrese@google.com>
- b62eb9546087e0001307a741fcdf023b2d156966 Merge GitHub PR #130 - Add MIPS support to GetProgramCoun... by Derek Mauro <dmauro@google.com>
- 09ab5739de33c8f1bebab2bb70bf7d4331348f05 Update ABSL_ASSERT to silence clang-tidy warnings about c... by Matt Calabrese <calabrese@google.com>
- e73ee389ce8fe1a90738973c219ebbb19bb389f3 Update unary visitation to use a switch statement when th... by Matt Calabrese <calabrese@google.com>
- c8734ccf475b856c95220f21a5ec4f44302cb5ce Work around a MSVC bug for absl::variant, by making `Acce... by Xiaoyi Zhang <zhangxy@google.com>
GitOrigin-RevId: b9a479321581cd0293f124041bf5c06f456afec1
Change-Id: Idb6fc906087c0a4e6fc5c75a391c7f73101c613e
- 64db19b773134c6c8004e3b23c9ca892efbf8bae Move SpinLock's adaptive spin count computation from a st... by Derek Mauro <dmauro@google.com>
- 6f9533fb44a52485a7c2bbb9b4efc7bf8d6c359a Import of CCTZ from GitHub. by Abseil Team <absl-team@google.com>
- a211d7255c986e8dd4ceada362c0d054a6a1969a Cleanup exception flags by Abseil Team <absl-team@google.com>
- babdb29c590126fe9bba5229fe91034b5b5c358a Release time benchmarks. by Alex Strelnikov <strel@google.com>
- 5803b32a3ff123d1fb57a0c471d199c818357c9f Release memutil microbenchmarks. by Alex Strelnikov <strel@google.com>
- 5357d4890d30e80c53beb05af32500fb20e9402b Add parens around expansion of ABSL_PREDICT_{FALSE,TRUE} ... by Abseil Team <absl-team@google.com>
- 32023f61a239a5f6b1c59e577bfe81b179bbcd2d Reformat build rule tag. by Alex Strelnikov <strel@google.com>
- 833758ecf2b0cf7a42bbd50b5b127e416425c168 Release uint128 microbenchmarks. by Alex Strelnikov <strel@google.com>
- c115a9bca1f944b90fdc78a56b2de176466b124f Disambiguate bitwise-not of size_type by Abseil Team <absl-team@google.com>
- f6905f5b5f6e425792de646edafde440548d9346 Updates ConstructorTracker and TrackedObjects with 1) a m... by Abseil Team <absl-team@google.com>
- 147c553bdd5d2db20a38f75c4d1ef973d6c709c5 Changes the absl::Duration factory functions to disallow ... by Greg Miller <jgm@google.com>
- dba2b96d11b5264546b283ba452f2de1303b0f07 White space fix by Alex Strelnikov <strel@google.com>
GitOrigin-RevId: abacaab4b11a69dd4db627bd183571d7cabb8def
Change-Id: I6fa34f20d0b2f898e7b5475a603111413bb80a67
- 924ba2a3f9fca695d73c6bf491d20669e2b96b8e Changed RawPtr to use std::addressof() instead of operato... by Abseil Team <absl-team@google.com>
- e8cf67f9fa74d4c5632da35547025ad2301c6819 Import of CCTZ from GitHub. by Alex Strelnikov <strel@google.com>
- 2ece8a96611afcddd7b91e0197dadb896248250c Abandon ".inc" files in favor of ".h" headers. by Jorg Brown <jorg@google.com>
- 37f5ed5da4058f90fb3e6a2733fce5b1fd0aaedf Add exception safety tests for absl::optional<T> by Abseil Team <absl-team@google.com>
- 337f995a866b8f905f64ca6b271b5fec8f248a60 Update WORKSPACE to grab specific commits of dependencies... by Alex Strelnikov <strel@google.com>
- 93e5b134607a554993387ad913e6c1621606004b Release Charmap microbenchmark. by Alex Strelnikov <strel@google.com>
- 95c2e29b6d93ec1334484ee37d91f63101c45307 Release OStringStream microbenchmarks. by Alex Strelnikov <strel@google.com>
- 250f51839ed26dd1e6b658d35aa291413e5f4825 Internal change by Greg Falcon <gfalcon@google.com>
- ce34900fa3d1a95a8446bc943cdd801fac95be25 Improve compatibility of cctz cc_test targets for portabl... by Shaindel Schwartz <shaindel@google.com>
- ce7e31dbf2c1ee93c79aae5b7dc7c603cb4babcf Improve portability of cc_tests. (Mark more tests that ca... by Abseil Team <absl-team@google.com>
- dfcd4e455923703c1a1dcd523c5f915f7990fa2a Accept strings with custom allocators as arguments to abs... by Greg Falcon <gfalcon@google.com>
- 2946b41ed3d5b8b5a8dc11182e443cf1ab6e3bde Link against benchmark_main instead of using BENCHMARK_MA... by Alex Strelnikov <strel@google.com>
- f09de9e03bf8edd363069c4b352d8009423f531c Adds link to doc about the formats allowed by SimpleAtof(... by Greg Miller <jgm@google.com>
- 59b0977e7a308e0800277886cf60226b2cc426a1 Simplify the HideMask() calculation so that it doesn't us... by Jorg Brown <jorg@google.com>
GitOrigin-RevId: e2f6b8ac647271815b4fed2991f405524dd762c3
Change-Id: Ib9c8547ed7fe217fad6cb3ab1362e96181aa5cfa
- f183ce453db49ebc1948bb1d8eced37021cf63f7 Internal change. by Derek Mauro <dmauro@google.com>
- b1660cb93e0fa37cdcecf37642766f5bfd12c7b0 Improve compatibility of some cc_test targets for portabl... by Abseil Team <absl-team@google.com>
GitOrigin-RevId: 31d03284ca8017ba59d98d47e7d041f361d478a7
Change-Id: I9c4c4d2ad12cfe10c914f7cfa9aaab67fcef5cb1
- b726b3102f8439b8480b6ff52fc3660162fa0bd9 Fix MSVC compiler warning on 32-bit platforms (GitHub iss... by Derek Mauro <dmauro@google.com>
- a8a29e636c85bd7d82c0cbc824a1c2e498764337 Explicitly forbid to specify the template parameter to Wr... by Abseil Team <absl-team@google.com>
- 566a1d903266fdbfdcf758401c356a0c6703422d Add missing license header to BUILD file. by Alex Strelnikov <strel@google.com>
- ef1c0642cde0bbad62bbb30715256b232a4ab817 Fix BUILD file header. by Alex Strelnikov <strel@google.com>
- b6e2cf00f808ee32b9eb7b3226af79d628742c20 Release GraphCycles microbenchmark. by Alex Strelnikov <strel@google.com>
- f592d78f549e7a242bf2bb4858a26645a655eac3 Release Mutex microbenchmarks. by Alex Strelnikov <strel@google.com>
GitOrigin-RevId: 45b4111d940009bc7b3ebf621c9cb9293c60344a
Change-Id: I82885ae176952a764574c6d4616e312a977407b2
- 7cec68e37e16fb4e266368236ae1de6419f6946a Increase Abseil's minimum supported cmake version to 3.1.... by Jon Cohen <cohenjon@google.com>
- b977456175c8db380676bd56c44b32efbfc6f606 Fix a typo in the mutex.h comments. by Abseil Team <absl-team@google.com>
- 3d30cec131d08b066bc1cf877e4f661e8ee0584c Release StrSplit microbenchmarks. by Alex Strelnikov <strel@google.com>
- dddece6031feac1cca4689e623462f895f28d019 Release StrReplace microbenchmarks. by Alex Strelnikov <strel@google.com>
- ac3b40e1694f74bdcf31b8d1152481e92edfd441 Internal Change by Abseil Team <absl-team@google.com>
- d0e69ad6ddf0e59596a02ccab0253967f2909cdb Release StrCat microbenchmarks. by Alex Strelnikov <strel@google.com>
- db4d471030fa320d2b9d2ce241610333f0eb7a50 Release StrJoin microbenchmarks. by Alex Strelnikov <strel@google.com>
GitOrigin-RevId: a4e14440b870dbf7b36975eaebf783a70a7fcee4
Change-Id: I3f12700aafce677049f4d1a6e09ea821963a8c9e
- f9f24ecdf159c232b68a72b3be4d66854489f13e Run clang-format on all outbound Copybara-transformed code. by Daniel Katz <katzdm@google.com>
- 54b1d34753a2b6999bb65e0c05255bde7de8cfb5 Properly indent the PROPERTY FOLDER calls in AbseilHelper... by Jon Cohen <cohenjon@google.com>
- 540ce6bab1a7c81a15d7244b9effcb1c1378911b Fix -Wgnu-zero-variadic-macro-arguments warning under cla... by Derek Mauro <dmauro@google.com>
- cc82ee3f18e882bfcba911ebc1b8ea39983f319b Suppress MSVC unreachable code warning in optional.h by Abseil Team <absl-team@google.com>
- c1176bed2a7a2d20e72db2601f1044c097d8078c Change signature of __mmap2() in direct_mmap.h to match _... by Greg Falcon <gfalcon@google.com>
- 5c02fe2031997fe064bd189fecc593395f34fae8 Change released benchmarks back to cc_test targets. by Alex Strelnikov <strel@google.com>
- 7a342ecf7a8c56276d28d94158291fe2d64b2543 Fix sanitizer example command. by Derek Mauro <dmauro@google.com>
- 0c2c55fe01cd84ab885d9f4865d7672c423680d2 Remove redundant cast; string_view::find already returns ... by Jorg Brown <jorg@google.com>
GitOrigin-RevId: 2db207ef16d548380e4f5cd1d583546d0b5f7d61
Change-Id: I5b61d91c8c7b4754c839868fc73d612b31bf5c33
- 2201f1644336e64280dbd20207d8fbc3bfea2bf4 Internal change. by Abseil Team <absl-team@google.com>
- 94e6b5b20d2cc754c99a18c575a4f1f3cd1f28d4 Rename no_throw_ctor to nothrow_ctor to match the standar... by Abseil Team <absl-team@google.com>
- 86aa34d2129c4914c5133b7b619480aae786288e Update header files in debugging target by Tom Manshreck <shreck@google.com>
- ed234519ced458724a7267b8fdf184eaae1c97c7 Remove CMAKE_CXX_WARNING_VLA from our c++ flags in the cm... by Jon Cohen <cohenjon@google.com>
GitOrigin-RevId: abe587c2360b21f085b7d65a77d840015bc04cf6
Change-Id: I92f9301c69419d3830c358b88984967185aa33f6
- 6f89386971a21422c4cd9653e965c96d9f7a3573 Fix handling of VDSOs that are loaded lower then their li... by Abseil Team <absl-team@google.com>
- f27a7269ab714c9c75fe4e15fa1bce8b12531a92 Check that __GLIBC__ is defined before checking for __GLI... by Derek Mauro <dmauro@google.com>
GitOrigin-RevId: 6194c9b0d6dbdbeeb27b19d5c61562f985b25ff2
Change-Id: I3eceb6f76bf2b25d55d1f5f77fba57af947da0cf
- 83dbeb97cb3874932a4159f2f287c5b2cca7089b Fix for MSVC warning C4244 about "conversion from 'int' t... by Abseil Team <absl-team@google.com>
GitOrigin-RevId: be60293bacf8d17861853a73c751b4a74534b049
Change-Id: If8a91fa3edca47f349662cb214fde380c65802bb
- 8444789eefc1f20c0102041ee52ad841131dcf93 Import of CCTZ from Github. by Abseil Team <absl-team@google.com>
- 847bf3389edff542cdfcc4fcfb5b1d7466a5d297 Suggest using MakeSpan rather than the explicit mutable r... by Abseil Team <absl-team@google.com>
- b6f130c12a3b2e8ea14e848df523f3ca8d360d25 ABSL_ARRAYSIZE is now declared and documented more clearl... by Matt Armstrong <marmstrong@google.com>
- 8243bbcd7398e0cc1fed405b3c7cecc54fe77145 Don't dereference the begin() iterator of an empty string. by Derek Mauro <dmauro@google.com>
- be817477eb17964a0f4c2a943c8281763ee269b0 Revert rename THREAD_ANNOTATION_ATTRIBUTE__ by Abseil Team <absl-team@google.com>
- 940d4657f63acd7ff61d986558b0a38fa545a1fe Don't create '".text"' section when '.text' was intended. by Abseil Team <absl-team@google.com>
- f6680d634b66537acec18121fbdca7c9083877b1 Rename THREAD_ANNOTATION_ATTRIBUTE__ by Abseil Team <absl-team@google.com>
GitOrigin-RevId: e63f59e34d34d483f89e4e6a7fe80805d1332329
Change-Id: If6f2286d6cbfd7b822e83c6cc28fa3e752bb41a4
- ff3cf0774f9903fb62f7012af24c0901286a1b80 Fix -Wunreachable-code-return warning (from clang 6.0) in by Derek Mauro <dmauro@google.com>
- b41ca35e56f6137cf6672d16613a7edfd6107e27 Include port.h to drag in platform-specific configurations. by Abseil Team <absl-team@google.com>
- 5d50b728937d245caedaa2208a97d52f55040134 Set the default symbolizer for Mutex deadlock detector re... by Derek Mauro <dmauro@google.com>
GitOrigin-RevId: 45690246da1e36acde86c941b68aad2248b16ea7
Change-Id: I2c6a87e9090657ff3fb456f3409bfdc24b8b765a