)]}'
{
  "commit": "f74dc26792a0679e29db45e56367331ff48666d1",
  "tree": "c70261e72422a288b139750893933098e5ad0c24",
  "parents": [
    "eb4de4047d8fab210c521730a2e4b43401129981"
  ],
  "author": {
    "name": "Lancelot Six",
    "email": "lancelot.six@amd.com",
    "time": "Tue Sep 12 12:34:51 2023 +0000"
  },
  "committer": {
    "name": "Lancelot Six",
    "email": "lancelot.six@amd.com",
    "time": "Sat Oct 28 19:25:34 2023 +0000"
  },
  "message": "gdb/gdbsupport/gdbserver: Require c++17\n\nThis patch proposes to require a C++17 compiler to build gdb /\ngdbsupport / gdbserver.  Before this patch, GDB required a C++11\ncompiler.\n\nThe general policy regarding bumping C++ language requirement in GDB (as\nstated in [1]) is:\n\n    Our general policy is to wait until the oldest compiler that\n    supports C++NN is at least 3 years old.\n\n    Rationale: We want to ensure reasonably widespread compiler\n    availability, to lower barrier of entry to GDB contributions, and to\n    make it easy for users to easily build new GDB on currently\n    supported stable distributions themselves. 3 years should be\n    sufficient for latest stable releases of distributions to include a\n    compiler for the standard, and/or for new compilers to appear as\n    easily installable optional packages. Requiring everyone to build a\n    compiler first before building GDB, which would happen if we\n    required a too-new compiler, would cause too much inconvenience.\n\n    See the policy proposal and discussion\n    [here](https://sourceware.org/ml/gdb-patches/2016-10/msg00616.html).\n\nThe first GCC release which with full C++17 support is GCC-9[2],\nreleased in 2019[3], which is over 4 years ago.  Clang has had C++17\nsupport since Clang-5[4] released in 2018[5].\n\nA discussions with many distros showed that a C++17-able compiler is\nalways available, meaning that this no hard requirement preventing us to\nrequire it going forward.\n\n[1] https://sourceware.org/gdb/wiki/Internals%20GDB-C-Coding-Standards#When_is_GDB_going_to_start_requiring_C.2B-.2B-NN_.3F\n[2] https://gcc.gnu.org/projects/cxx-status.html#cxx17\n[3] https://gcc.gnu.org/gcc-9/\n[4] https://clang.llvm.org/cxx_status.html\n[5] https://releases.llvm.org/\n\nChange-Id: Id596f5db17ea346e8a978668825787b3a9a443fd\nReviewed-By: Eli Zaretskii \u003celiz@gnu.org\u003e\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\nApproved-By: Pedro Alves \u003cpedro@palves.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6022def10376c12fccc56ffe2c5bdf4d8218b8d8",
      "old_mode": 33188,
      "old_path": "gdb/NEWS",
      "new_id": "95663433f1cf6a3e5cfb0ff777d7bad6fec83b22",
      "new_mode": 33188,
      "new_path": "gdb/NEWS"
    },
    {
      "type": "modify",
      "old_id": "7543aac371c7b4a354e4e99fa88b9663e48474ef",
      "old_mode": 33188,
      "old_path": "gdb/README",
      "new_id": "763089bb02d7b2bf2d437862961b50ce700d7c8b",
      "new_mode": 33188,
      "new_path": "gdb/README"
    },
    {
      "type": "modify",
      "old_id": "e17245156d8dd371e289bd1ae4b024de206c325d",
      "old_mode": 33188,
      "old_path": "gdb/config.in",
      "new_id": "f8926fe4404e21796f162d0ca19be3edd934e3b5",
      "new_mode": 33188,
      "new_path": "gdb/config.in"
    },
    {
      "type": "modify",
      "old_id": "408d8a50423ef4e8a48fd806c26bb457368f5a14",
      "old_mode": 33261,
      "old_path": "gdb/configure",
      "new_id": "0878481e354142caeaa18c359341203830ee31d0",
      "new_mode": 33261,
      "new_path": "gdb/configure"
    },
    {
      "type": "modify",
      "old_id": "3912b77b27f2612c1f63c7c6664a6c8f8f19dc7c",
      "old_mode": 33188,
      "old_path": "gdb/configure.ac",
      "new_id": "43e5067e6ff71cebd65a8cdbb0bac7352886410a",
      "new_mode": 33188,
      "new_path": "gdb/configure.ac"
    },
    {
      "type": "modify",
      "old_id": "63876afcf852773d2af530061b27c23a5f254126",
      "old_mode": 33188,
      "old_path": "gdbserver/config.in",
      "new_id": "ab507aa6f6ab25e72a10dac7d77303f766c0d990",
      "new_mode": 33188,
      "new_path": "gdbserver/config.in"
    },
    {
      "type": "modify",
      "old_id": "a49598fb68220968eb30257330fbbbdbac78421d",
      "old_mode": 33261,
      "old_path": "gdbserver/configure",
      "new_id": "c6b8d7803c4674aad8ce9bad0e982290846edace",
      "new_mode": 33261,
      "new_path": "gdbserver/configure"
    },
    {
      "type": "modify",
      "old_id": "12bc0090d678007f155a363b85a8a665df02d5ba",
      "old_mode": 33188,
      "old_path": "gdbserver/configure.ac",
      "new_id": "2609a11e6f6e86c5d0ca808f2cce15747f7b2ca5",
      "new_mode": 33188,
      "new_path": "gdbserver/configure.ac"
    },
    {
      "type": "modify",
      "old_id": "07cb78fc4c760b7e4173e040fd616b8bf08727c8",
      "old_mode": 33188,
      "old_path": "gdbsupport/Makefile.in",
      "new_id": "50a5a55e19d2767225aba136a1d792bad7d0fb91",
      "new_mode": 33188,
      "new_path": "gdbsupport/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "2cdc1fbde618bb183ecdde9b2ebec44e77cf7c5c",
      "old_mode": 33188,
      "old_path": "gdbsupport/config.in",
      "new_id": "1cef12634bde328b7e034789d5742e56998f8ee6",
      "new_mode": 33188,
      "new_path": "gdbsupport/config.in"
    },
    {
      "type": "modify",
      "old_id": "6d2a4309d7e3725937175ecd90576901ebd033e2",
      "old_mode": 33261,
      "old_path": "gdbsupport/configure",
      "new_id": "0ef3d25a10bff20f38e5c28b368fdaf4faca1496",
      "new_mode": 33261,
      "new_path": "gdbsupport/configure"
    },
    {
      "type": "modify",
      "old_id": "2cb382bd4ecd9d5bbceb3e13df306ff3f2a69a60",
      "old_mode": 33188,
      "old_path": "gdbsupport/configure.ac",
      "new_id": "a0986fab9cdb7685ac731252a3a5923a10d96614",
      "new_mode": 33188,
      "new_path": "gdbsupport/configure.ac"
    }
  ]
}
