)]}'
{
  "commit": "c0f1b0085db7976525d5265fdf578b063a1c5b20",
  "tree": "f66be7a0a8b8ee55d881e58cd353234b3c987b9f",
  "parents": [
    "4126b9cf36c826ddf584fec395e0ee796b9db294"
  ],
  "author": {
    "name": "ergawy",
    "email": "kareem.ergawy@gmail.com",
    "time": "Wed Sep 09 22:20:57 2026 -0700"
  },
  "committer": {
    "name": "ergawy",
    "email": "kareem.ergawy@gmail.com",
    "time": "Wed Sep 16 07:17:17 2026 -0700"
  },
  "message": "[flang][cuda] Implicitly attribute ALLOCATABLE/POINTER components as managed\n\nUnder -gpu\u003dmem:managed, resolve-names implicitly attributes allocatables and\npointers declared in an ordinary scope as managed.\n\nApply the same attribution to components in Post(ComponentDecl). An explicitly\nattributed component keeps its own attribute, and a translation unit without\nCUDA Fortran enabled is left alone.\n\nRecord the attribution in ObjectEntityDetails::cudaDataAttrIsImplicit, since\nan attribute the compiler applied is not a user requirement: a memory space\nthe user did ask for on an enclosing object takes precedence over it.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6408ec6f435e816e56f434f28f557c8a60b3f02b",
      "old_mode": 33188,
      "old_path": "flang/include/flang/Semantics/symbol.h",
      "new_id": "35838b74dd53ee0b64e47bec4a63bfd7509124f0",
      "new_mode": 33188,
      "new_path": "flang/include/flang/Semantics/symbol.h"
    },
    {
      "type": "modify",
      "old_id": "5f10319ab01013df52c0c29a194beb0f710695e1",
      "old_mode": 33188,
      "old_path": "flang/lib/Lower/Allocatable.cpp",
      "new_id": "0e057452502b3697a8f291a27854e534ee7dfd71",
      "new_mode": 33188,
      "new_path": "flang/lib/Lower/Allocatable.cpp"
    },
    {
      "type": "modify",
      "old_id": "4bbc652f6f9cd098c05368c655eda929064e3a41",
      "old_mode": 33188,
      "old_path": "flang/lib/Semantics/check-allocate.cpp",
      "new_id": "e797b978c4bd33bf71883fa3df00936c6efc15ee",
      "new_mode": 33188,
      "new_path": "flang/lib/Semantics/check-allocate.cpp"
    },
    {
      "type": "modify",
      "old_id": "20a098d9f07321391c9c44d4309c9e00bc0b54be",
      "old_mode": 33188,
      "old_path": "flang/lib/Semantics/resolve-names.cpp",
      "new_id": "c5f7fba49fffb7bf16dd4aff0ad5155fe9f4fa9e",
      "new_mode": 33188,
      "new_path": "flang/lib/Semantics/resolve-names.cpp"
    },
    {
      "type": "modify",
      "old_id": "64e76aa02fe6d46cc3829791322884ddecb766f3",
      "old_mode": 33188,
      "old_path": "flang/lib/Semantics/tools.cpp",
      "new_id": "3f2d2293c76cb006c2cc728620960af51fbda755",
      "new_mode": 33188,
      "new_path": "flang/lib/Semantics/tools.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac89749ff810241c6c02c8ee96a9f3955dfe18b3",
      "new_mode": 33188,
      "new_path": "flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf"
    }
  ]
}
