)]}'
{
  "commit": "d0070994222af5dc4b4790237fea9e17fae30b78",
  "tree": "1b1c0f2fd2247a836ae66fdda8f98db85c05da9c",
  "parents": [
    "78dfbcaa7b32eaf5a4e5888a1728114984712a4b"
  ],
  "author": {
    "name": "Clipi",
    "email": "hugogalindolorenzo@gmail.com",
    "time": "Tue Sep 09 23:28:01 2025 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 09 22:28:01 2025 +0100"
  },
  "message": "[FileCheck] Fix --enable-var-scope for numvars after reassignment (#157158)\n\n* When `--enable-var-scope` is active,\n`lib/FileCheck.cpp#clearLocalVars` gets called.\n* That function loops through `GlobalNumericVariableTable` and then\ncalls `NumericVariable::clear` on most items. It also removes them from\n`GlobalNumericVariableTable`.\n* When reassigning an already cleared variable, `Pattern::match` calls\n`NumericVariable::setValue`, but it doesn\u0027t reinsert it into\n`GlobalNumericVariableTable`. Therefore, the next time `clearLocalVars`\nis called, it won\u0027t be able to loop through the variables.\n\nFix it by reinserting them in `GlobalNumericVariableTable` inside\n`Pattern::match`.\n\nCo-authored-by: Thomas Preud\u0027homme \u003cthomas.preudhomme@arm.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ce35a5bad7616dbfa45a773072ea14e16eaba149",
      "old_mode": 33188,
      "old_path": "llvm/lib/FileCheck/FileCheck.cpp",
      "new_id": "9245db442611cc183585087fee31fb6223c52bdf",
      "new_mode": 33188,
      "new_path": "llvm/lib/FileCheck/FileCheck.cpp"
    },
    {
      "type": "modify",
      "old_id": "9b3ea0e95d143589efcef808b13251ab1f0b4b31",
      "old_mode": 33188,
      "old_path": "llvm/test/FileCheck/var-scope.txt",
      "new_id": "b65eddb6d16a003866aa50e7e6cb8478b6b9fb38",
      "new_mode": 33188,
      "new_path": "llvm/test/FileCheck/var-scope.txt"
    }
  ]
}
