)]}'
{
  "commit": "8619a5efd84b10b9cb4ea33449c38fa6390f9baa",
  "tree": "699487266326e72ab360bebef2f70445096d07f4",
  "parents": [
    "93a67259cf23a555bf3905ce0f6ff349014689f0"
  ],
  "author": {
    "name": "Sairudra More",
    "email": "sairudra60@gmail.com",
    "time": "Tue Apr 14 10:42:51 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 14 10:42:51 2026 +0530"
  },
  "message": "[flang][OpenMP] Avoid marking named main programs as declare target (#190250)\n\nA bare `!$omp declare target` could incorrectly mark `_QQmain` as\n`omp.declare_target` when it appeared in an interface body inside a\nnamed\nmain program. That pulled host-only callees into device compilation and\ncaused offload link failures.\n\nFix this by skipping main programs in the implicit-capture path.\nAlso add a regression test for the named-main interface case and update\n`real10.f90` to use a valid container for the bare `declare target`\nform.\n\nThis fixes offload link failures where `_QQmain` was incorrectly treated\nas\na device function and pulled in host-only symbols such as Fortran I/O\nruntime calls.\n\nMinimal reproducer:\n\n```fortran\nprogram named_main\n  interface\n    subroutine sub_a(x)\n      !$omp declare target\n      integer, intent(inout) :: x\n    end subroutine\n  end interface\n  integer :: v\n  !$omp target\n    call sub_a(v)\n  !$omp end target\nend program",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "33de565eda27520a5d72f745780fcee95042cae4",
      "old_mode": 33188,
      "old_path": "flang/lib/Lower/OpenMP/OpenMP.cpp",
      "new_id": "a24f13738623525a0f8bc1a5ef87625adf701d12",
      "new_mode": 33188,
      "new_path": "flang/lib/Lower/OpenMP/OpenMP.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b283f98f5407e61fffc63ed4d9801c3ef55d7550",
      "new_mode": 33188,
      "new_path": "flang/test/Lower/OpenMP/declare-target-named-main-interface.f90"
    },
    {
      "type": "modify",
      "old_id": "c76c2bde0f6f64737f4bf1a539adb61ee77d61bf",
      "old_mode": 33188,
      "old_path": "flang/test/Lower/OpenMP/real10.f90",
      "new_id": "7323f421ad2c0bd1605875e18b876028c127ecf7",
      "new_mode": 33188,
      "new_path": "flang/test/Lower/OpenMP/real10.f90"
    }
  ]
}
