)]}'
{
  "commit": "c8a9e88bf6ff32d90d082d07d3c5d12b938f8335",
  "tree": "a34d347c8ca0e5d878fa8ee20247235fbc4739e5",
  "parents": [
    "678dc756a5741d278be2e14630bc10d2fb31a22a"
  ],
  "author": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu May 12 14:52:41 2022 +0200"
  },
  "committer": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu May 12 14:52:41 2022 +0200"
  },
  "message": "[gdb/testsuite] Fix gdb.cp/break-f-std-string.cc with older gcc\n\nWhen running test-case gdb.cp/break-f-std-string.exp on openSUSE Leap 15.3\nwith system gcc 7.5.0, I run into:\n...\n(gdb) whatis /r std::string^M\nNo symbol \"string\" in namespace \"std\".^M\n(gdb) FAIL: gdb.cp/break-f-std-string.exp: _GLIBCXX_USE_CXX11_ABI\u003d1: \\\n  whatis /r std::string\n...\nThe same for gcc 8.2.1, but it passes with gcc 9.3.1.\n\nAt source level (as we can observe in the .ii file with -save-temps) we have\nindeed:\n...\nnamespace std {\n  namespace __cxx11 {\n    typedef basic_string\u003cchar\u003e string;\n  }\n}\n...\nwhile with gcc 9.3.1, we have instead:\n...\nnamespace std {\n  namespace __cxx11 {\n    ...\n  }\n  typedef basic_string\u003cchar\u003e string;\n}\n...\ndue to gcc commit 33b43b0d8cd (\"Define std::string and related typedefs\noutside __cxx11 namespace\").\n\nFix this by adding the missing typedef for gcc version 5 (the first version to\nhave the dual abi) to 8 (the last version missing aforementioned gcc commit).\n\nTested on x86_64-linux, with:\n- system gcc 7.5.0\n- gcc 4.8.5, 8.2.1, 9.3.1, 10.3.0, 11.2.1\n- clang 8.0.1, 12.0.1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "454ab4c42eaf5f4191c3683e33c31887c56ddd59",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.cp/break-f-std-string.cc",
      "new_id": "0c361234d82c1453f5ea9bcd409542cbdcc4d492",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.cp/break-f-std-string.cc"
    }
  ]
}
