Lines Matching refs:Arg
103 static SanitizerMask parseArgValues(const Driver &D, const llvm::opt::Arg *A,
108 static int parseCoverageFeatures(const Driver &D, const llvm::opt::Arg *A,
123 static std::string describeSanitizeArg(const llvm::opt::Arg *A,
189 for (const auto *Arg : Args) { in parseSpecialCaseListArg() local
191 if (Arg->getOption().matches(SCLOptionID)) { in parseSpecialCaseListArg()
192 Arg->claim(); in parseSpecialCaseListArg()
193 std::string SCLPath = Arg->getValue(); in parseSpecialCaseListArg()
200 } else if (Arg->getOption().matches(NoSCLOptionID)) { in parseSpecialCaseListArg()
201 Arg->claim(); in parseSpecialCaseListArg()
229 for (const llvm::opt::Arg *Arg : llvm::reverse(Args)) { in parseSanitizeTrapArgs() local
230 if (Arg->getOption().matches(options::OPT_fsanitize_trap_EQ)) { in parseSanitizeTrapArgs()
231 Arg->claim(); in parseSanitizeTrapArgs()
232 SanitizerMask Add = parseArgValues(D, Arg, true); in parseSanitizeTrapArgs()
239 << Arg->getOption().getName() << toString(S); in parseSanitizeTrapArgs()
242 } else if (Arg->getOption().matches(options::OPT_fno_sanitize_trap_EQ)) { in parseSanitizeTrapArgs()
243 Arg->claim(); in parseSanitizeTrapArgs()
245 expandSanitizerGroups(parseArgValues(D, Arg, DiagnoseErrors)); in parseSanitizeTrapArgs()
322 Arg *OptLevel = Args.getLastArg(options::OPT_O_Group); in SanitizerArgs()
326 for (const llvm::opt::Arg *Arg : llvm::reverse(Args)) { in SanitizerArgs() local
327 if (Arg->getOption().matches(options::OPT_fsanitize_EQ)) { in SanitizerArgs()
328 Arg->claim(); in SanitizerArgs()
329 SanitizerMask Add = parseArgValues(D, Arg, DiagnoseErrors); in SanitizerArgs()
338 << Arg->getAsString(Args); in SanitizerArgs()
351 std::string Desc = describeSanitizeArg(Arg, KindsToDiagnose); in SanitizerArgs()
363 std::string Desc = describeSanitizeArg(Arg, KindsToDiagnose); in SanitizerArgs()
372 if (llvm::opt::Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) { in SanitizerArgs()
406 std::string Desc = describeSanitizeArg(Arg, KindsToDiagnose); in SanitizerArgs()
418 if (const llvm::opt::Arg *NoRTTIArg = TC.getRTTIArg()) { in SanitizerArgs()
463 } else if (Arg->getOption().matches(options::OPT_fno_sanitize_EQ)) { in SanitizerArgs()
464 Arg->claim(); in SanitizerArgs()
465 SanitizerMask Remove = parseArgValues(D, Arg, DiagnoseErrors); in SanitizerArgs()
583 for (const auto *Arg : Args) { in SanitizerArgs() local
584 if (Arg->getOption().matches(options::OPT_fsanitize_recover_EQ)) { in SanitizerArgs()
585 SanitizerMask Add = parseArgValues(D, Arg, DiagnoseErrors); in SanitizerArgs()
594 << Arg->getOption().getName() << toString(SetToDiagnose); in SanitizerArgs()
598 Arg->claim(); in SanitizerArgs()
599 } else if (Arg->getOption().matches(options::OPT_fno_sanitize_recover_EQ)) { in SanitizerArgs()
600 SanitizerMask Remove = parseArgValues(D, Arg, DiagnoseErrors); in SanitizerArgs()
609 << Arg->getOption().getName() << toString(SetToDiagnose); in SanitizerArgs()
613 Arg->claim(); in SanitizerArgs()
637 if (Arg *A = in SanitizerArgs()
735 for (const auto *Arg : Args) { in SanitizerArgs() local
736 if (Arg->getOption().matches(options::OPT_fsanitize_coverage)) { in SanitizerArgs()
738 if (Arg->getNumValues() == 1 && in SanitizerArgs()
739 !StringRef(Arg->getValue(0)) in SanitizerArgs()
742 Arg->claim(); in SanitizerArgs()
745 << Arg->getAsString(Args) << "-fsanitize-coverage=trace-pc-guard"; in SanitizerArgs()
749 CoverageFeatures |= parseCoverageFeatures(D, Arg, DiagnoseErrors); in SanitizerArgs()
754 Arg->claim(); in SanitizerArgs()
758 } else if (Arg->getOption().matches(options::OPT_fno_sanitize_coverage)) { in SanitizerArgs()
759 Arg->claim(); in SanitizerArgs()
760 CoverageFeatures &= ~parseCoverageFeatures(D, Arg, DiagnoseErrors); in SanitizerArgs()
837 if (Arg *A = in SanitizerArgs()
848 if (Arg *WindowsDebugRTArg = in SanitizerArgs()
907 if (const auto *Arg = in SanitizerArgs() local
909 auto parsedAsanDtorKind = AsanDtorKindFromString(Arg->getValue()); in SanitizerArgs()
912 << Arg->getOption().getName() << Arg->getValue(); in SanitizerArgs()
917 if (const auto *Arg = Args.getLastArg( in SanitizerArgs() local
920 AsanDetectStackUseAfterReturnModeFromString(Arg->getValue()); in SanitizerArgs()
925 << Arg->getOption().getName() << Arg->getValue(); in SanitizerArgs()
946 if (Arg *HwasanAbiArg = in SanitizerArgs()
1271 SanitizerMask parseArgValues(const Driver &D, const llvm::opt::Arg *A, in parseArgValues()
1300 int parseCoverageFeatures(const Driver &D, const llvm::opt::Arg *A, in parseCoverageFeatures()
1340 const auto *Arg = *I; in lastArgumentForMask() local
1341 if (Arg->getOption().matches(options::OPT_fsanitize_EQ)) { in lastArgumentForMask()
1343 expandSanitizerGroups(parseArgValues(D, Arg, false)); in lastArgumentForMask()
1345 return describeSanitizeArg(Arg, Mask); in lastArgumentForMask()
1346 } else if (Arg->getOption().matches(options::OPT_fno_sanitize_EQ)) { in lastArgumentForMask()
1348 expandSanitizerGroups(parseArgValues(D, Arg, false)); in lastArgumentForMask()
1355 std::string describeSanitizeArg(const llvm::opt::Arg *A, SanitizerMask Mask) { in describeSanitizeArg()