10#include "llvm/Support/Path.h"
19 const Driver &
D,
const llvm::Triple &HostTriple,
20 const llvm::opt::ArgList &Args) {}
23 const ArgList &DriverArgs, ArgStringList &CC1Args)
const {
24 if (DriverArgs.hasArg(clang::driver::options::OPT_nobuiltininc))
35 options::OPT_fsanitize_EQ,
36 options::OPT_fcf_protection_EQ,
37 options::OPT_fprofile_generate,
38 options::OPT_fprofile_generate_EQ,
39 options::OPT_fno_profile_generate,
40 options::OPT_ftest_coverage,
41 options::OPT_fno_test_coverage,
42 options::OPT_fcoverage_mapping,
43 options::OPT_fno_coverage_mapping,
44 options::OPT_coverage,
45 options::OPT_fprofile_instr_generate,
46 options::OPT_fprofile_instr_generate_EQ,
47 options::OPT_fno_profile_instr_generate,
48 options::OPT_fprofile_arcs,
49 options::OPT_fno_profile_arcs,
50 options::OPT_fcreate_profile,
51 options::OPT_fprofile_instr_use,
52 options::OPT_fprofile_instr_use_EQ,
53 options::OPT_forder_file_instrumentation,
54 options::OPT_fcs_profile_generate,
55 options::OPT_fcs_profile_generate_EQ,
57 return UnsupportedOpts;
61 const ToolChain &HostTC,
const ArgList &Args)
63 SYCLInstallation(
D, Triple, Args) {
70 if (
const Arg *A = Args.getLastArg(Opt)) {
71 D.Diag(clang::diag::warn_drv_unsupported_option_for_target)
72 << A->getAsString(Args) <<
getTriple().str();
78 const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
83llvm::opt::DerivedArgList *
90 bool IsNewDAL =
false;
92 DAL =
new DerivedArgList(Args.getBaseArgs());
99 auto Opt(A->getOption());
100 bool Unsupported =
false;
102 if (Opt.matches(UnsupportedOpt)) {
103 if (Opt.getID() == options::OPT_fsanitize_EQ &&
104 A->getValues().size() == 1) {
105 std::string SanitizeVal = A->getValue();
106 if (SanitizeVal ==
"address") {
113 DAL->eraseArg(Opt.getID());
124 if (!BoundArch.empty()) {
125 DAL->eraseArg(options::OPT_march_EQ);
126 DAL->AddJoinedArg(
nullptr, Opts.getOption(options::OPT_march_EQ),
142 ArgStringList &CC1Args)
const {
147 ArgStringList &CC1Args)
const {
152 ArgStringList &CC1Args)
const {
static ArrayRef< options::ID > getUnsupportedOpts()
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
const llvm::opt::OptTable & getOpts() const
SYCLInstallationDetector(const Driver &D, const llvm::Triple &HostTriple, const llvm::opt::ArgList &Args)
void addSYCLIncludeArgs(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const
The JSON file list parser is used to communicate input to InstallAPI.