)]}'
{
  "commit": "f9f88aede3bb84efd088a59a5f6bccb3a6bb6516",
  "tree": "8460a59af9c8e78c340b0ba8afa160546dd45231",
  "parents": [
    "e86741b65ba9a614054241c0be45efb04484e320"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Oct 27 08:59:38 2022 +0100"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Fri Nov 18 11:21:37 2022 +0000"
  },
  "message": "gdb/testsuite: rewrite gdb.cp/call-method-register.exp with dwarf assembler\n\nConvert the gdb.cp/call-method-register.exp test to make use of the\nDWARF assembler.\n\nThe existing gdb.cp/call-method-register.exp test relies on a GCC\nextension - forcing a local variable into a particular named register.\n\nThis means that the test will only work with Clang, and, as we have to\nname the register into which the variable will be placed, will only\nwork for those targets where we\u0027ve selected a suitable register,\ncurrently this is x86-64, i386, and ppc64.\n\nBy switching to the DWARF assembler, the test will work with gcc and\nclang, and should work on most, if not all, architectures.\n\nThe test creates a small structure, something that can fit within a\nregister, and then tries to call a method on the structure from within\nGDB.  This should fail because GDB can\u0027t take the address of the in\nregister structure (for the `this` pointer).\n\nAs the test is for a failure case, then we don\u0027t really care _which_\nregister the structure is in, and I take advantage of this for the\nDWARF assembler test, I just declare that the variable is in\nDW_OP_reg0, whatever that might be.  I\u0027ve tested the new test on\nx86-64, ppc, aarch64, and risc-v, and the test runs, and passes on all\nthese architectures, which is already more than we used to cover.\n\nAdditionally, on x86-64, I\u0027ve tested with Clang and gcc, and the test\nruns and passed with both compilers.\n\nReviewed-By: Lancelot SIX \u003clancelot.six@amd.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d60fee037017e96e998c2cab2b941c060efb50b5",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.cp/call-method-register.cc",
      "new_id": "91cbf13ebcae0413971f91fe5e4543c47bcd7a6a",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.cp/call-method-register.cc"
    },
    {
      "type": "modify",
      "old_id": "a98b11e4c118575df5bde4c11ba94a84a973ba74",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.cp/call-method-register.exp",
      "new_id": "2c9a1d4ec2add5f017dd0e8683a647df40941477",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.cp/call-method-register.exp"
    }
  ]
}
