From d0a1886b230c5a10e897cee3559bdd1cccf754c9 Mon Sep 17 00:00:00 2001 From: srividya sundaram Date: Wed, 17 Sep 2025 13:59:52 -0700 Subject: [PATCH] [SYCL][Driver] Fix incorrect target triple duplication error. --- clang/lib/Driver/Driver.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index f9c370f8c153e..6e0b07ea02399 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -1399,8 +1399,13 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C, if (isDuplicateTargetTripleString(Target)) continue; Triples.insert(C.getInputArgs().MakeArgString(TargetTripleString)); - } else + } else { + // Check for duplicate target triple strings for offloading + // models other than SYCL, before inserting in Triples. + if (isDuplicateTargetTripleString(Target)) + continue; Triples.insert(C.getInputArgs().MakeArgString(Target)); + } } if (ArgValues.empty()) @@ -1458,10 +1463,6 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C, Diag(diag::err_drv_invalid_or_unsupported_offload_target) << TT.str(); continue; } - // Check for duplicate target triple strings. - if ((Kind == Action::OFK_OpenMP || Kind == Action::OFK_SYCL) && - isDuplicateTargetTripleString(Target)) - continue; auto &TC = getOffloadToolChain(C.getInputArgs(), Kind, TT, C.getDefaultToolChain().getTriple());