)]}'
{
  "commit": "19ed722fb3ae5e618c746da20efb79fc837337cd",
  "tree": "c276fa1f01e9200a8822f11d3f0b0b8576005c8d",
  "parents": [
    "0e51b7e9c03c6f6bc3d06343f2050f17349ccdc3"
  ],
  "author": {
    "name": "Than McIntosh",
    "email": "thanm@google.com",
    "time": "Fri Jul 12 10:42:48 2019 -0400"
  },
  "committer": {
    "name": "Ian Lance Taylor",
    "email": "iant@golang.org",
    "time": "Thu Jul 18 05:04:42 2019 +0000"
  },
  "message": "compiler: fix bug in handling of unordered set during exporting\n\nIn CL 183850 a change was made to combine tracking/discovery of\nexported types and imported packages during export data generation. As\na result of this refactoring a bug was introduced: the new code can\npotentially insert items into the exports set (an unordered_set) while\niterating through the same set, which is illegal according to the spec\nfor std::unordered_set.\n\nThis patch fixes the problem by changing the type discovery phase to\niterate through a separate list of sorted exports, as opposed to\niterating through the main unordered set.  Also included is a change\nto fix the code that looks for variables that are referenced from\ninlined routine bodies (this code wasn\u0027t scanning all of the function\nthat it needed to scan).\n\nNew test case for this problem in CL 186697.\n\nUpdates golang/go#33020.\n\nChange-Id: Id9ae5af462bc0819e8c9a8dd038ce9746297ad5d\nReviewed-on: https://go-review.googlesource.com/c/gofrontend/+/185977\nReviewed-by: Ian Lance Taylor \u003ciant@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb778a0fd8340d628568aa07d9ec05ceef3d3bc1",
      "old_mode": 33188,
      "old_path": "go/export.cc",
      "new_id": "32ab4982091b13cc4678cdc7e437b608780fe647",
      "new_mode": 33188,
      "new_path": "go/export.cc"
    },
    {
      "type": "modify",
      "old_id": "1af386c17558eeadbaefeb0582c05bd8aa67b3b3",
      "old_mode": 33188,
      "old_path": "go/export.h",
      "new_id": "c93bced4eb49f9a7614b9e7c61e365a7086d80d1",
      "new_mode": 33188,
      "new_path": "go/export.h"
    },
    {
      "type": "modify",
      "old_id": "f9a18bc462771bd6ac7c6c05b9f1a89ec372857d",
      "old_mode": 33188,
      "old_path": "go/gogo.cc",
      "new_id": "abd86868beef943da14321879fe2e52fa610a34b",
      "new_mode": 33188,
      "new_path": "go/gogo.cc"
    }
  ]
}
