)]}'
{
  "commit": "02f61ab46b1608c26fd72862d4b46cbb7b034889",
  "tree": "c66f38c3f12bfc6e0905bfc600a581c08531d8c6",
  "parents": [
    "d06d43a9e8cb5db84e6ee3557b6244e14a291def"
  ],
  "author": {
    "name": "Asher Mancinelli",
    "email": "ashermancinelli@gmail.com",
    "time": "Thu May 08 13:08:08 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 08 13:08:08 2025 -0700"
  },
  "message": "[flang] Use box for components with non-default lower bounds (#138994)\n\nWhen designating an array component that has non-default lower bounds\nthe bridge was producing hlfir designates yielding reference types,\nwhich did not preserve the bounds information. Then, when creating\ncomponents, unadjusted indices were used when initializing the\nstructure.\n\nWe could look at the declaration to get the shape parameter, but this\nwould not be preserved if the component were passed as a block argument.\nThese results must be boxed, but we also must not lose the contiguity\ninformation either. To address contiguity, annotate these boxes with the\n`contiguous` attribute during designation.\n\nNote that other designated entities are handled inside the\nHlfirDesignatorBuilder while component designators are built in\nHlfirBuilder. I am not sure if this handling should be moved into the\ndesignator builder or left in the general builder, so feedback is\nwelcome.\n\nAlso, I wouldn\u0027t mind finding a test that demonstrates a box-designated\ncomponent with the contiguous attribute really is determined to be\ncontiguous by any passes down the line checking for that. I don\u0027t have a\ntest like that yet.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "395f4518efb1ed81669e5eff67423827d2e53d5e",
      "old_mode": 33188,
      "old_path": "flang/lib/Lower/ConvertExprToHLFIR.cpp",
      "new_id": "808928bc97adfc7bdede4bc772dcd394a6b9d553",
      "new_mode": 33188,
      "new_path": "flang/lib/Lower/ConvertExprToHLFIR.cpp"
    },
    {
      "type": "modify",
      "old_id": "653e28e0a6018b64bb6509387610f6e1d63992c4",
      "old_mode": 33188,
      "old_path": "flang/test/Lower/HLFIR/designators-component-ref.f90",
      "new_id": "935176becac750eafe3b59aab71d0e5a6d2d79cc",
      "new_mode": 33188,
      "new_path": "flang/test/Lower/HLFIR/designators-component-ref.f90"
    }
  ]
}
