diff --git a/clang/lib/Driver/ToolChains/SYCL.cpp b/clang/lib/Driver/ToolChains/SYCL.cpp index 9bbbc7a4564be..58cfecdd0c8be 100644 --- a/clang/lib/Driver/ToolChains/SYCL.cpp +++ b/clang/lib/Driver/ToolChains/SYCL.cpp @@ -389,6 +389,8 @@ void SYCL::gen::BackendCompiler::ConstructJob(Compilation &C, CmdArgs.push_back("-file"); CmdArgs.push_back(II.getFilename()); } + // The next line prevents ocloc from modifying the image name + CmdArgs.push_back("-output_no_suffix"); CmdArgs.push_back("-spirv_input"); TranslateSYCLTargetArgs(C, Args, getToolChain(), CmdArgs); SmallString<128> ExecPath(getToolChain().GetProgramPath("ocloc")); diff --git a/clang/test/Driver/sycl-offload.c b/clang/test/Driver/sycl-offload.c index 3913411e50297..9df9289cd9f7a 100644 --- a/clang/test/Driver/sycl-offload.c +++ b/clang/test/Driver/sycl-offload.c @@ -530,7 +530,7 @@ // RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl -fsycl-targets=spir64_gen-unknown-linux-sycldevice -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-GEN-OPTS %s -// CHK-TOOLS-GEN-OPTS: ocloc{{.*}} "-output" {{.*}} "-DFOO1" "-DFOO2" +// CHK-TOOLS-GEN-OPTS: ocloc{{.*}} "-output" {{.*}} "-output_no_suffix" {{.*}} "-DFOO1" "-DFOO2" // RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl -fsycl-targets=spir64_x86_64-unknown-linux-sycldevice -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-CPU-OPTS %s