)]}'
{
  "commit": "f0159c3230348755d0ff6538de672859e33dcfbf",
  "tree": "f1661ccb8b94d125f0719f42eb1e8734fdea1738",
  "parents": [
    "375357eeaf38602079bcbd39c699eddf0a223d7a"
  ],
  "author": {
    "name": "Tom Honermann",
    "email": "tom.honermann@intel.com",
    "time": "Tue Mar 10 11:29:50 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 10 11:29:50 2026 -0400"
  },
  "message": "[SYCL] Correct emission status reporting for function templates declared with SYCL attributes. (#185522)\n\nCommit cf6cc662eeee2b1416430f517850be9032788e39 ([OpenMP][SYCL] Improve\ndiagnosing of unsupported types usage) customized\n`Sema::getEmissionStatus()` to return `Emitted` for a function declared\nwith the `sycl_kernel` attribute during device compilation. That change\nis appropriate, but was inserted before a check for a dependent context\nand resulted in `Emitted` being returned instead of `TemplateDiscarded`\nfor templated functions declared with the attribute. That appears to be\nincorrect; templated functions are still discarded.\n\nThe customization was extended to include the `sycl_kernel_entry_point`\nand `sycl_external` attributes in commit\n23e4fe040b67e2dd419652830a87093a93ea1a97 ([SYCL] SYCL host kernel launch\nsupport for the sycl_kernel_entry_point attribute). Those additions are\nappropriate, but the effect on templated functions (as opposed to their\ninstantiations) resulted in the incorrect status being observed in a\ndownstream fork of Clang.\n\nThis change corrects `Sema::getEmissionStatus()` to once again\nunconditionally return `TemplateDiscarded` for templated functions.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5e8e9ba62c21bea9c4044b9a357d5d836e8cb56",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaDecl.cpp",
      "new_id": "f88ffb2053b955eee51d4624401077287ad43808",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaDecl.cpp"
    }
  ]
}
