)]}'
{
  "commit": "8ee5b57a65d0ec92a4c733c273a93c47d3296195",
  "tree": "d9730f3cf2b785c5632be5f032496fd9adaa02f5",
  "parents": [
    "6ff01050d956a1d87cd02c33e83a3707c2ea9be8"
  ],
  "author": {
    "name": "Valentin Churavy",
    "email": "v.churavy@gmail.com",
    "time": "Thu Oct 01 17:26:38 2026 +0200"
  },
  "committer": {
    "name": "Valentin Churavy",
    "email": "v.churavy@gmail.com",
    "time": "Thu Oct 01 17:26:38 2026 +0200"
  },
  "message": "Type a copy from a flang character literal as integer\n\nA memcpy whose destination has no known type and whose source is a flang\ncharacter literal (a constant [N x i8] global @_QQcl...) fails with\n\"Cannot deduce type of copy\". Type analysis types the bytes of an i8 array\nof 16 bits or more as Anything, because such an array may hold the bytes of\nany type, and the memcpy handler purges Anything from the source type.\n\nWhen the type is otherwise unknown and the source is a flang character\nliteral, treat the copy as integer data. The check uses the flang name\nprefix, so an i8 array that holds the bytes of a float (as other\nfrontends emit for constants) is not typed as integer.\n\nAssisted-by: Claude Code (Opus 5.5)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cbd80ae4d4787565548da344d4b43aa62c2b9a2c",
      "old_mode": 33188,
      "old_path": "enzyme/Enzyme/AdjointGenerator.h",
      "new_id": "53c02b57faf5acfe5a4fc8e9feeb36a319c2dedb",
      "new_mode": 33188,
      "new_path": "enzyme/Enzyme/AdjointGenerator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4b41d20f684b8e1bff3293158faa9de10cda3977",
      "new_mode": 33188,
      "new_path": "enzyme/test/Enzyme/ReverseMode/memcpy-flang-charlit.ll"
    }
  ]
}
