)]}'
{
  "commit": "fa8c75182fbfdeddb2485fc0d53baeda3f40b7a3",
  "tree": "cf973bc4dee81f08cb7edd811353d944d10fc5f9",
  "parents": [
    "85092b4b648ca729c6263c4a302a41dfff28705e"
  ],
  "author": {
    "name": "Abseil Team",
    "email": "absl-team@google.com",
    "time": "Wed Nov 13 08:54:32 2019 -0800"
  },
  "committer": {
    "name": "Andy Getz",
    "email": "durandal@google.com",
    "time": "Wed Nov 13 15:04:44 2019 -0500"
  },
  "message": "Export of internal Abseil changes\n\n--\n049ac45508e335c6f010f2d28d71016b9fa65b4e by Derek Mauro \u003cdmauro@google.com\u003e:\n\nFix librt detection\n\nPiperOrigin-RevId: 280207723\n\n--\n6382c3a9fb2643af9dc031f92ca846c4a78e249c by Andy Getzendanner \u003cdurandal@google.com\u003e:\n\nFix Conan builds\n\nImport of https://github.com/abseil/abseil-cpp/pull/400\n\nPiperOrigin-RevId: 280025424\n\n--\naebcd52b1686ac82663a8d0193b60d0122a43372 by Samuel Benzaquen \u003csbenza@google.com\u003e:\n\nEnable the assertion in the iterator\u0027s operator\u003d\u003d and operator!\u003d\n\nPiperOrigin-RevId: 279998951\n\n--\n5b61d909e2159ac6fd45e0e456818db1e725ecd1 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nAdd best effort support for compiling much of Abseil with MinGW.\nThis involves disabling ABSL_ATTRIBUTE_WEAK and adding link flags.\n\nA change to CCTZ is still necessary.\n\nTests were not run yet, but most of them now build.\n\nPiperOrigin-RevId: 279966541\n\n--\n4336f8b10cff906e2defdd7d1d449cde4907da5d by Abseil Team \u003cabsl-team@google.com\u003e:\n\nAdd comments and relax memory orders in base_internal::CallOnceImpl.\n\nAdd a comment to document the memory order guarantee if\nbase_internal::SpinLockWait() is called and returns kOnceDone.\n\nAdd a comment for the load/store sequence in base_internal::CallOnceImpl\nbased on Mike Burrows\u0027 explanation.\n\nThe atomic load of \u0027control\u0027 in the #ifndef NDEBUG block does not need\nstd::memory_order_acquire. It can use std::memory_order_relaxed.\n\nThe atomic compare_exchange_strong of \u0027control\u0027 does not need\nstd::memory_order_acquire in the success case. It can use\nstd::memory_order_relaxed.\nPiperOrigin-RevId: 279814155\n\n--\n407de3a5e9af957cded54a136ca0468bde620d4d by Abseil Team \u003cabsl-team@google.com\u003e:\n\nAdded a script to generate abseil.podspec from all BUILD.bazel files automatically.\n\nPiperOrigin-RevId: 279811441\n\n--\n26139497d4a363d6c7bc989c554da593e8819a07 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nAdd missing copyright and Apache License to //absl/functional/BUILD.bazel\n\nPiperOrigin-RevId: 279795227\n\n--\n98ed625b02af6e5834edf52a920d8ca2dab4cd90 by Matt Kulukundis \u003ckfm@google.com\u003e:\n\nSwitch the implementation of hashtablez to *only* work on platforms that have a\nPER_THREAD_TLS.\n\nThe old case is very slow (global mutex) and nobody collects data from that\nconfiguration anyway.\n\nPiperOrigin-RevId: 279775149\n\n--\n07225900ef672c005c38f467ad3f92f38d0922b3 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nRemove the minumum glibc version check\n\nPiperOrigin-RevId: 279750412\n\n--\nec09956a951b4f52228ecc81968b8db7ae19ed15 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nCMake only: link with -lrt to support older glibc versions\n\nPiperOrigin-RevId: 279741661\n\n--\n97b113fb2e8246f6152c36330ba13793b37154b6 by Xiaoyi Zhang \u003czhangxy@google.com\u003e:\n\nInternal change.\n\nPiperOrigin-RevId: 279390188\n\n--\nca8f72f2721546cc9b01bd01b2ea144962e6e0c5 by Andy Getzendanner \u003cdurandal@google.com\u003e:\n\nExpose PutTwoDigits for internal use within Abseil.\n\nPiperOrigin-RevId: 279374239\n\n--\n14c6384cc03bbdfdefd2e4b635f104af5dd7e026 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nRemove log_severity sources from the base target.\nThey are already compiled as part of a separate library.\n\nPiperOrigin-RevId: 279372619\n\n--\n3c5d926c718f8bf394e3bee87b6ba8d94601e0d3 by Abseil Team \u003cabsl-team@google.com\u003e:\n\ns/indepdent/independent/g in SimpleAtof\u0027s documentation.\n\nPiperOrigin-RevId: 279350836\n\n--\nde2c44be8a8edf9efa1fe2007cba3564f3e5b0b8 by Abseil Team \u003cabsl-team@google.com\u003e:\n\nInternal change\n\nPiperOrigin-RevId: 279346990\n\n--\n2ba078341423fcf6d0ba5ca1831f86570a26e615 by Samuel Benzaquen \u003csbenza@google.com\u003e:\n\nAdd hash support for std::wstring, std::u16string and std::u32string.\n\nPiperOrigin-RevId: 279320672\n\n--\n3272d3ffcfa55283a04f90e5868701912da95ef7 by Andy Soffer \u003casoffer@google.com\u003e:\n\nRemoving a bunch of __restricts that amount to no performance differences. One\nof these is the cause of https://github.com/abseil/abseil-cpp/issues/396. In\nparticular, in one of the Vector128Store functions, restricts on two pointers\nthat were indeed aliased seems to be the root cause of the issues.\n\nCloses #396\n\nPiperOrigin-RevId: 279318999\n\n--\n342f338ab31cc24344d5de8f28cf455bbb629a17 by Jorg Brown \u003cjorg@google.com\u003e:\n\nSupport uint128 in SimpleAtoi\n\nPiperOrigin-RevId: 279234038\n\n--\n81cb0a04cf2dc4515d303679fc60968712191571 by Derek Mauro \u003cdmauro@google.com\u003e:\n\nChange the check for futex availability to support older Linux systems\n\nPiperOrigin-RevId: 279147079\n\n--\ncb4ca4aa4c8d2d710a5d483c56c4ce4f979e14b1 by Abseil Team \u003cabsl-team@google.com\u003e:\n\nAdd IWYU pragma: export for int128 .inc files.\n\nPiperOrigin-RevId: 279107098\n\n--\nb8df86ef610c366729f07326c726f3e34817b4dd by Abseil Team \u003cabsl-team@google.com\u003e:\n\nAn optimization for Waiter::Post() in the SEM waiter mode.\n\nLike the FUTEX waiter mode, Waiter::Post() only needs to call Poke() if\nit incremented the atomic variable from 0.\n\nPiperOrigin-RevId: 279086133\nGitOrigin-RevId: 049ac45508e335c6f010f2d28d71016b9fa65b4e\nChange-Id: I4c1a4073fff62cb6a1fcb1c104aa7d62dad588c2\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2bf153c002ab2878f6ec522e4456fc09ddc55c5a",
      "new_mode": 33261,
      "new_path": "absl/abseil.podspec.gen.py"
    },
    {
      "type": "modify",
      "old_id": "6fc712d968f362e7fe6da6b89e552620f84df135",
      "old_mode": 33188,
      "old_path": "absl/base/BUILD.bazel",
      "new_id": "7e234bc6677929f44ef32ae8683276bbcb0243c5",
      "new_mode": 33188,
      "new_path": "absl/base/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9550cdb2db497cca053bc787ee62c1e51d5982fb",
      "old_mode": 33188,
      "old_path": "absl/base/CMakeLists.txt",
      "new_id": "7ab6955e217603c8c0e86a2f4df528d892af027d",
      "new_mode": 33188,
      "new_path": "absl/base/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7b7656a859b87d605827c93bbd2765f1fa1fa7cd",
      "old_mode": 33188,
      "old_path": "absl/base/attributes.h",
      "new_id": "acd1c5269829edf75bc32c35a54602a0dff8f8c5",
      "new_mode": 33188,
      "new_path": "absl/base/attributes.h"
    },
    {
      "type": "modify",
      "old_id": "4aa6360cffc52e4eed489523ace1f6c38f4dd819",
      "old_mode": 33188,
      "old_path": "absl/base/call_once.h",
      "new_id": "e1614e517a8d1299f23fa0a845f2ae2d37dab7bf",
      "new_mode": 33188,
      "new_path": "absl/base/call_once.h"
    },
    {
      "type": "modify",
      "old_id": "699fb1a2e0fcc8c97d108e7e3e1b1e9293550187",
      "old_mode": 33188,
      "old_path": "absl/base/policy_checks.h",
      "new_id": "4dfa49e54ac28d719aee0562ee0af819fe01eb8e",
      "new_mode": 33188,
      "new_path": "absl/base/policy_checks.h"
    },
    {
      "type": "modify",
      "old_id": "0a7ef61c8fe5d06c49ef1493a13cd0a68d32dc71",
      "old_mode": 33188,
      "old_path": "absl/container/internal/hashtablez_sampler.cc",
      "new_id": "4aec0a07ffb382495bd66ddc7717fcdf3212dbcf",
      "new_mode": 33188,
      "new_path": "absl/container/internal/hashtablez_sampler.cc"
    },
    {
      "type": "modify",
      "old_id": "53996bb9fa4c3e96608a3fb41ca581e13233d936",
      "old_mode": 33188,
      "old_path": "absl/container/internal/hashtablez_sampler.h",
      "new_id": "c694df057d8e8157bbfa0fdfaee7495a50552b9b",
      "new_mode": 33188,
      "new_path": "absl/container/internal/hashtablez_sampler.h"
    },
    {
      "type": "modify",
      "old_id": "7f9e8dd21ffc70c3c8b52afa3fdde729a125e48c",
      "old_mode": 33188,
      "old_path": "absl/container/internal/hashtablez_sampler_test.cc",
      "new_id": "af4b5ee108ac6f5196b64a9077739f9d5c1d0f86",
      "new_mode": 33188,
      "new_path": "absl/container/internal/hashtablez_sampler_test.cc"
    },
    {
      "type": "modify",
      "old_id": "bf0c03c44f2e0786cc9246b881896ee3e4d91b31",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "469226fedd863d7d729da74ca1edbdc171ca25cb",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "33cfa72ce7abc7883f4fdb15c6f68834cd80022d",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set_test.cc",
      "new_id": "ec8f92313bac6eb2b2a90cd1526eafc531dd4932",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set_test.cc"
    },
    {
      "type": "modify",
      "old_id": "beec279ff8e280c0cd3e6fc0a5eb1a362456f8dd",
      "old_mode": 33188,
      "old_path": "absl/debugging/BUILD.bazel",
      "new_id": "2601090bc60b2621c7474e1af657e06975474a6d",
      "new_mode": 33188,
      "new_path": "absl/debugging/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b3e35b6d744e7d4bf2bdf648fd1ace516c3c8786",
      "old_mode": 33188,
      "old_path": "absl/debugging/CMakeLists.txt",
      "new_id": "eff504b488328cc9294b3bc42e463309ab03b874",
      "new_mode": 33188,
      "new_path": "absl/debugging/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "e861b8a5601068d5c14fc5f03effd4d499a10875",
      "old_mode": 33188,
      "old_path": "absl/functional/BUILD.bazel",
      "new_id": "0a7b588e70e0d955ef39bc503184f2593b3f669c",
      "new_mode": 33188,
      "new_path": "absl/functional/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "61f7661f5912f6fa4eb4e9120fcf69738532c9e9",
      "old_mode": 33188,
      "old_path": "absl/hash/hash_test.cc",
      "new_id": "42c0c3d8bf7e72a6ca4fa8c71de0f4bc15cc4727",
      "new_mode": 33188,
      "new_path": "absl/hash/hash_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e99f8e75bd9ecfd2c7a1bafaf7495d591941e9b2",
      "old_mode": 33188,
      "old_path": "absl/hash/internal/hash.h",
      "new_id": "7d44f57dc90d54bd126c216cb19fb052b74833bf",
      "new_mode": 33188,
      "new_path": "absl/hash/internal/hash.h"
    },
    {
      "type": "modify",
      "old_id": "10be8eca42e7c147ca88949257e66b25fa4d926b",
      "old_mode": 33188,
      "old_path": "absl/numeric/int128.h",
      "new_id": "4f965686c39336b50538c0ec534b3e2cba24bdcc",
      "new_mode": 33188,
      "new_path": "absl/numeric/int128.h"
    },
    {
      "type": "modify",
      "old_id": "289854ffd40df739e450bee233f51a2d74c44d3d",
      "old_mode": 33188,
      "old_path": "absl/random/CMakeLists.txt",
      "new_id": "264a6f3c6abc47569e57b0e828679e01e8efc059",
      "new_mode": 33188,
      "new_path": "absl/random/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "91388d19f3c5a1c95a73876702526455c48ecbf8",
      "old_mode": 33188,
      "old_path": "absl/random/internal/BUILD.bazel",
      "new_id": "cc9bc013bc90e146b2668a08c88cd2a5270f0941",
      "new_mode": 33188,
      "new_path": "absl/random/internal/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7d5b2b74128b2fd475a7721450fdb9f2ebb10248",
      "old_mode": 33188,
      "old_path": "absl/random/internal/randen_hwaes.cc",
      "new_id": "6cc36fd39b5ef46120d0b4ba2ebc19e73e4e4755",
      "new_mode": 33188,
      "new_path": "absl/random/internal/randen_hwaes.cc"
    },
    {
      "type": "modify",
      "old_id": "28247205af486b1fa7a975025984b1c5cebdb98f",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/numbers_test_common.h",
      "new_id": "a263219e27b4bb69de40b45f735fcca21f5625e4",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/numbers_test_common.h"
    },
    {
      "type": "modify",
      "old_id": "d7b94fc1301e7c4b9dad1305cecd68fa325e3510",
      "old_mode": 33188,
      "old_path": "absl/strings/numbers.cc",
      "new_id": "4890bd54a54974c83461641955d63e43c126628e",
      "new_mode": 33188,
      "new_path": "absl/strings/numbers.cc"
    },
    {
      "type": "modify",
      "old_id": "9b8ec89a89416311af45357d617bea10920ecf0c",
      "old_mode": 33188,
      "old_path": "absl/strings/numbers.h",
      "new_id": "5e15ca40b7360930317e171611668d56e9d10dc2",
      "new_mode": 33188,
      "new_path": "absl/strings/numbers.h"
    },
    {
      "type": "modify",
      "old_id": "b92b9a8cb2a8a3828fac2021af536fb5b9002d83",
      "old_mode": 33188,
      "old_path": "absl/strings/numbers_test.cc",
      "new_id": "68229b15a4e2d22db073004a899a82aed29eae55",
      "new_mode": 33188,
      "new_path": "absl/strings/numbers_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8e7137705325b3a9d774c8a6a99b552363771649",
      "old_mode": 33188,
      "old_path": "absl/synchronization/internal/waiter.cc",
      "new_id": "f1425872e5b6fb8e22dfeee076719bf00aa8668a",
      "new_mode": 33188,
      "new_path": "absl/synchronization/internal/waiter.cc"
    },
    {
      "type": "modify",
      "old_id": "cac81d5fd2265d7da1b75bd8d7df4f0b2d8fa291",
      "old_mode": 33188,
      "old_path": "absl/synchronization/internal/waiter.h",
      "new_id": "9540598be5d3466c5675ae813a4aa0b110846811",
      "new_mode": 33188,
      "new_path": "absl/synchronization/internal/waiter.h"
    }
  ]
}
