From f71183ff999b561a7656f187387153085994ae3a Mon Sep 17 00:00:00 2001 From: David Rohr Date: Mon, 5 Oct 2026 17:43:03 +0200 Subject: [PATCH 1/2] Fix compiler warning: OpenCL host does not provide half support, so just define it to something that does not cause compiler errors / warnings, will not be used anyway --- GPU/GPUTracking/Base/opencl/GPUReconstructionOCLIncludesHost.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPU/GPUTracking/Base/opencl/GPUReconstructionOCLIncludesHost.h b/GPU/GPUTracking/Base/opencl/GPUReconstructionOCLIncludesHost.h index 4086109fd7441..5432d00396434 100644 --- a/GPU/GPUTracking/Base/opencl/GPUReconstructionOCLIncludesHost.h +++ b/GPU/GPUTracking/Base/opencl/GPUReconstructionOCLIncludesHost.h @@ -25,7 +25,7 @@ #include #include -typedef cl_half half; +typedef int16_t half; // TODO: Fixme once we have C++23 and proper host side half support #include "GPULogging.h" From 01e883dcacfb4a93dd2cedd6a8a18301b4b24826 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Mon, 5 Oct 2026 17:43:21 +0200 Subject: [PATCH 2/2] Suppress bogus GCC 16 warning --- GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx index e2ddcc524c683..e8c98bf4b4a45 100644 --- a/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx +++ b/GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx @@ -1627,7 +1627,10 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread // unpack and sort clusters if (nParts > 1 && (!revertInSegment ^ (leg & 1))) { +#pragma GCC diagnostic push // TODO: Fixme, needed for bug in GCC 16 +#pragma GCC diagnostic ignored "-Warray-bounds" GPUCommonAlgorithm::sort(trackParts, trackParts + nParts, [](const GPUTPCGMSectorTrack* a, const GPUTPCGMSectorTrack* b) { +#pragma GCC diagnostic pop GPUCA_DETERMINISTIC_CODE( // clang-format off if (a->X() != b->X()) { return (a->X() > b->X());