@@ -1087,6 +1087,16 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
10871087 C.getInputArgs ().hasFlag (options::OPT_fsycl, options::OPT_fno_sycl,
10881088 false ) ||
10891089 hasSYCLDeviceOnly (C.getInputArgs ());
1090+ bool IsSYCLOffloadArchEnabled =
1091+ HasValidSYCLRuntime &&
1092+ C.getInputArgs ().hasArg (options::OPT_offload_arch_EQ);
1093+
1094+ if (IsSYCLOffloadArchEnabled &&
1095+ !C.getInputArgs ().hasFlag (options::OPT_offload_new_driver,
1096+ options::OPT_no_offload_new_driver, false )) {
1097+ Diag (clang::diag::err_drv_sycl_offload_arch_new_driver);
1098+ return ;
1099+ }
10901100
10911101 Arg *SYCLfpga = C.getInputArgs ().getLastArg (options::OPT_fintelfpga);
10921102
@@ -7331,22 +7341,6 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args,
73317341
73327342 handleArguments (C, Args, Inputs, Actions);
73337343
7334- bool HasValidSYCLRuntime =
7335- C.getInputArgs ().hasFlag (options::OPT_fsycl, options::OPT_fno_sycl,
7336- false ) ||
7337- hasSYCLDeviceOnly (C.getInputArgs ());
7338- bool IsSYCLOffloadArchEnabled =
7339- HasValidSYCLRuntime &&
7340- C.getInputArgs ().hasArg (options::OPT_offload_arch_EQ);
7341- /*
7342- if (IsSYCLOffloadArchEnabled &&
7343- !C.getInputArgs().hasFlag(options::OPT_offload_new_driver,
7344- options::OPT_no_offload_new_driver, false)) {
7345- Diag(clang::diag::err_drv_sycl_offload_arch_new_driver);
7346- return;
7347- }
7348- */
7349-
73507344 // If '-fintelfpga' is passed, add '-fsycl' to the list of arguments
73517345 const llvm::opt::OptTable &Opts = getOpts ();
73527346 Arg *SYCLFpgaArg = C.getInputArgs ().getLastArg (options::OPT_fintelfpga);
0 commit comments