Skip to content

Commit f55b02d

Browse files
committed
Additional fix for clang - use /MD for to -fsycl-device-only as well
1 parent 1bbed53 commit f55b02d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6273,13 +6273,19 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
62736273
if (getToolChain().getTriple().getSubArch() ==
62746274
llvm::Triple::SPIRSubArch_fpga)
62756275
CmdArgs.push_back("-D__ENABLE_USM_ADDR_SPACE__");
6276+
}
62766277

6277-
// SYCL library is guaranteed to work correctly only with dynamic runtime.
6278-
if (!D.IsCLMode() &&
6279-
C.getDefaultToolChain().getTriple().isWindowsMSVCEnvironment()) {
6278+
if ((IsSYCL || UseSYCLTriple) && !D.IsCLMode()) {
6279+
// SYCL library is guaranteed to work correctly only with dynamic
6280+
// MSVC runtime.
6281+
llvm::Triple AuxT = C.getDefaultToolChain().getTriple();
6282+
if (Args.hasFlag(options::OPT_fsycl_device_only, OptSpecifier(), false))
6283+
AuxT = llvm::Triple(llvm::sys::getProcessTriple());
6284+
if (AuxT.isWindowsMSVCEnvironment()) {
62806285
CmdArgs.push_back("-D_MT");
62816286
CmdArgs.push_back("-D_DLL");
6282-
CmdArgs.push_back("--dependent-lib=msvcrt");
6287+
if (IsSYCL && !IsSYCLOffloadDevice && SYCLDeviceInput)
6288+
CmdArgs.push_back("--dependent-lib=msvcrt");
62836289
}
62846290
}
62856291

0 commit comments

Comments
 (0)