)]}'
{
  "commit": "9034b9ca6ecc53ff44ba0e41f069815147338f86",
  "tree": "f127ac8d7095fb06632bf88329b4e5bca628bad3",
  "parents": [
    "884282e28f6591d6c0680a79e07357a5aa868618"
  ],
  "author": {
    "name": "Derek Mauro",
    "email": "dmauro@google.com",
    "time": "Wed Apr 08 10:19:37 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Apr 08 10:20:35 2026 -0700"
  },
  "message": "Introduce ABSL_OPTION_INLINE_HW_ACCEL_STRATEGY in absl/base/options.h\nto provide a centralized policy for hardware-accelerated\nimplementations in headers.\n\nThis option addresses ODR violations that occur when Abseil headers\nuse compile-time feature detection (such as __SSE4_2__) in inline\nfunctions. If translation units are compiled with inconsistent CPU\narchitecture flags (e.g., -march\u003dnative vs -march\u003dgeneric) and linked\ntogether, they may disagree on the implementation of these inline\nfunctions. This can lead to crashes or silent data corruption in\nhashing.\n\nThe new option provides three levels of control:\n- 0: Portable. Forces software-only implementations in headers,\n  guaranteeing ABI safety across mixed translation units.\n- 1: Required. Forces hardware-accelerated implementations in\n  headers. The build will fail if the required instructions are not\n  enabled in the compiler environment.\n- 2: Auto-detect. Selects the best available implementation based on\n  compiler flags, but can\u0027t guarantee safety if translation units are\n  compiled with inconsistent flags.\n\nPiperOrigin-RevId: 896569507\nChange-Id: Ifcbc1f3980883feeaa4f05f845ce32310ca7d533\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfacc6e3e04f1f163219e809ab97d356d2ac84fb",
      "old_mode": 33188,
      "old_path": "absl/base/options.h",
      "new_id": "033eac36be1f709785eae9be7e1b9c94174f9038",
      "new_mode": 33188,
      "new_path": "absl/base/options.h"
    },
    {
      "type": "modify",
      "old_id": "ae3d9a26237b1da79a4b41488a753c40ca5e0921",
      "old_mode": 33188,
      "old_path": "absl/hash/internal/hash.h",
      "new_id": "760dd8c01352d74f266316a8bc77c51499128879",
      "new_mode": 33188,
      "new_path": "absl/hash/internal/hash.h"
    },
    {
      "type": "modify",
      "old_id": "7f70aad7103f5039e9f78c3c24654f994dcaaba7",
      "old_mode": 33188,
      "old_path": "ci/absl_alternate_options.h",
      "new_id": "54a1b78cd9f764b441ebe162eee45da7f0f55e31",
      "new_mode": 33188,
      "new_path": "ci/absl_alternate_options.h"
    }
  ]
}
