Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions clang/lib/Driver/ToolChains/SYCL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -622,6 +622,12 @@ SYCLToolChain::SYCLToolChain(const Driver &D, const llvm::Triple &Triple,
// Lookup binaries into the driver directory, this is used to
// discover the clang-offload-bundler executable.
getProgramPaths().push_back(getDriver().Dir);

// Diagnose unsupported options only once.
// All sanitizer options are not currently supported.
for (auto A : Args.filtered(options::OPT_fsanitize_EQ))
D.getDiags().Report(clang::diag::warn_drv_unsupported_option_for_target)
<< A->getAsString(Args) << getTriple().str();
}

void SYCLToolChain::addClangTargetOptions(
Expand All @@ -643,6 +649,8 @@ SYCLToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args,
// Filter out any options we do not want to pass along to the device
// compilation.
switch ((options::ID)A->getOption().getID()) {
case options::OPT_fsanitize_EQ:
break;
default:
DAL->append(A);
break;
Expand Down
10 changes: 10 additions & 0 deletions clang/test/Driver/sycl-unsupported.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/// Diagnose unsupported options specific to SYCL compilations
// RUN: %clangxx -fsycl -fsanitize=address -### %s 2>&1 \
// RUN: | FileCheck %s --check-prefix=SANITIZE -DARCH=spir64
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -fsanitize=address -### %s 2>&1 \
// RUN: | FileCheck %s --check-prefix=SANITIZE -DARCH=spir64_gen
// RUN: %clangxx -fsycl -fsycl-targets=spir64_fpga -fsanitize=address -### %s 2>&1 \
// RUN: | FileCheck %s --check-prefix=SANITIZE -DARCH=spir64_fpga
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsanitize=address -### %s 2>&1 \
// RUN: | FileCheck %s --check-prefix=SANITIZE -DARCH=spir64_x86_64
// SANITIZE: ignoring '-fsanitize=address' option as it is not currently supported for target '[[ARCH]]{{.*}}' [-Woption-ignored]