rocksdb/third-party/folly/folly
Peter Dillinger 31da5e34c1 C++20 compatibility (#6697)
Summary:
Based on https://github.com/facebook/rocksdb/issues/6648 (CLA Signed), but heavily modified / extended:

* Implicit capture of this via [=] deprecated in C++20, and [=,this] not standard before C++20 -> now using explicit capture lists
* Implicit copy operator deprecated in gcc 9 -> add explicit '= default' definition
* std::random_shuffle deprecated in C++17 and removed in C++20 -> migrated to a replacement in RocksDB random.h API
* Add the ability to build with different std version though -DCMAKE_CXX_STANDARD=11/14/17/20 on the cmake command line
* Minimal rebuild flag of MSVC is deprecated and is forbidden with /std:c++latest (C++20)
* Added MSVC 2019 C++11 & MSVC 2019 C++20 in AppVeyor
* Added GCC 9 C++11 & GCC9 C++20 in Travis
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6697

Test Plan: make check and CI

Reviewed By: cheng-chang

Differential Revision: D21020318

Pulled By: pdillinger

fbshipit-source-id: 12311be5dbd8675a0e2c817f7ec50fa11c18ab91
2020-04-20 13:24:25 -07:00
..
chrono Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
container Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
detail Fix clang_check and lite failures (#5680) 2019-08-07 20:19:39 -07:00
functional Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
hash Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
lang Update folly/lang/Align.h (backport to C++11) (#6534) 2020-03-16 19:07:31 -07:00
portability Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
synchronization C++20 compatibility (#6697) 2020-04-20 13:24:25 -07:00
ConstexprMath.h Refactor/consolidate legacy Bloom implementation details (#5784) 2019-09-16 16:17:09 -07:00
CPortability.h Fix TSAN failures in DistributedMutex tests (#5684) 2019-08-14 17:01:31 -07:00
Indestructible.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
Optional.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
Portability.h Update folly/lang/Align.h (backport to C++11) (#6534) 2020-03-16 19:07:31 -07:00
ScopeGuard.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
Traits.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
Unit.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00
Utility.h Port folly/synchronization/DistributedMutex to rocksdb (#5642) 2019-08-07 14:34:19 -07:00