)]}'
{
  "commit": "489339219538d9265409681bac969036c272a9ff",
  "tree": "83200fb9a4306afcd35fc9ff0a768c4f7d07085c",
  "parents": [
    "0cea191d40390abce375ae615a4eab7297284622"
  ],
  "author": {
    "name": "Sergiu Deitsch",
    "email": "sergiu.deitsch@gmail.com",
    "time": "Sat Sep 30 11:48:32 2023 +0200"
  },
  "committer": {
    "name": "Sergiu Deitsch",
    "email": "sergiu.deitsch@gmail.com",
    "time": "Sat Sep 30 13:37:39 2023 +0200"
  },
  "message": "Rework MSVC warning suppression\n\nPreviously, MSVC warning C4996 was suppressed unconditionally in the\nentire code base which made it difficult identifying and fixing specific\nproblems, particularly those in the public interface.\n\nPrefer now to disable warnings at the specific location they occur. This\napproach, however, reveals an inconsistency in how Ceres handles POSIX\nfunctions which are declared deprecated by MSVC. Specifically, Bessel\nfunctions use the underscore form whereas the read function does not. To\nsimplify the logic, we revert to POSIX compatible functions.\n\nC++23 also deprecates std::numeric_limits\u003cT\u003e::has_denorm which MSVC\nwarns about. Here, we disable the deprecation warning locally to avoid\nthe warning leaking into the user code.\n\nFixes #1013\n\nChange-Id: Ida8457cc8dd8770b4384a7c49d16f213b02cdec4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91cf6b1e4b9638cc0891ad04aaea1fc856f92889",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "5f17d881a6d08ce99b5a5df3b01427fea490f506",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "delete",
      "old_id": "c004cb8c36e14859d5bfe0d567d35c281cbe7281",
      "old_mode": 33188,
      "old_path": "cmake/CheckIfUnderscorePrefixedBesselFunctionsExist.cmake",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "2f68793566f4afa1edecf3c3a1c830b89c6ee700",
      "old_mode": 33188,
      "old_path": "examples/libmv_bundle_adjuster.cc",
      "new_id": "9315ed79ff6f32f748953ed553be8317284f976c",
      "new_mode": 33188,
      "new_path": "examples/libmv_bundle_adjuster.cc"
    },
    {
      "type": "modify",
      "old_id": "e61ef523ebd883d991b300ac5490a5b66f9569df",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/port.h",
      "new_id": "b8cb0ffcffd8569aefe3954584d16b82a5787e26",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/port.h"
    },
    {
      "type": "modify",
      "old_id": "768f04a258f538066ee825592c784efb4f68b028",
      "old_mode": 33188,
      "old_path": "include/ceres/jet.h",
      "new_id": "f279ba3d8035b3a537aa3562bcef4503371ddf53",
      "new_mode": 33188,
      "new_path": "include/ceres/jet.h"
    }
  ]
}
