Lines Matching refs:Args

173                                                 const ArgList &Args,  in normalizeSimpleFlag()  argument
175 if (Args.hasArg(Opt)) in normalizeSimpleFlag()
181 const ArgList &Args, in normalizeSimpleNegativeFlag() argument
183 if (Args.hasArg(Opt)) in normalizeSimpleNegativeFlag()
192 static void denormalizeSimpleFlag(SmallVectorImpl<const char *> &Args, in denormalizeSimpleFlag() argument
196 Args.push_back(Spelling); in denormalizeSimpleFlag()
207 return [Value](OptSpecifier Opt, unsigned, const ArgList &Args, in makeFlagToValueNormalizer()
209 if (Args.hasArg(Opt)) in makeFlagToValueNormalizer()
224 const ArgList &Args, in makeBooleanOptionNormalizer() argument
226 if (const Arg *A = Args.getLastArg(Opt, OtherOpt)) { in makeBooleanOptionNormalizer()
234 return [Value](SmallVectorImpl<const char *> &Args, const char *Spelling, in makeBooleanOptionDenormalizer()
238 Args.push_back(Spelling); in makeBooleanOptionDenormalizer()
242 static void denormalizeStringImpl(SmallVectorImpl<const char *> &Args, in denormalizeStringImpl() argument
251 Args.push_back(Spelling); in denormalizeStringImpl()
252 Args.push_back(SA(Value)); in denormalizeStringImpl()
256 Args.push_back(SA(Twine(Spelling) + Value)); in denormalizeStringImpl()
266 denormalizeString(SmallVectorImpl<const char *> &Args, const char *Spelling, in denormalizeString() argument
269 denormalizeStringImpl(Args, Spelling, SA, OptClass, TableIndex, Twine(Value)); in denormalizeString()
292 const ArgList &Args, in normalizeSimpleEnum() argument
297 auto *Arg = Args.getLastArg(Opt); in normalizeSimpleEnum()
306 << Arg->getAsString(Args) << ArgValue; in normalizeSimpleEnum()
310 static void denormalizeSimpleEnumImpl(SmallVectorImpl<const char *> &Args, in denormalizeSimpleEnumImpl() argument
318 denormalizeString(Args, Spelling, SA, OptClass, TableIndex, in denormalizeSimpleEnumImpl()
327 static void denormalizeSimpleEnum(SmallVectorImpl<const char *> &Args, in denormalizeSimpleEnum() argument
332 return denormalizeSimpleEnumImpl(Args, Spelling, SA, OptClass, TableIndex, in denormalizeSimpleEnum()
337 const ArgList &Args, in normalizeString() argument
339 auto *Arg = Args.getLastArg(Opt); in normalizeString()
347 const ArgList &Args, in normalizeStringIntegral() argument
349 auto *Arg = Args.getLastArg(Opt); in normalizeStringIntegral()
355 << Arg->getAsString(Args) << Arg->getValue(); in normalizeStringIntegral()
362 normalizeStringVector(OptSpecifier Opt, int, const ArgList &Args, in normalizeStringVector() argument
364 return Args.getAllArgValues(Opt); in normalizeStringVector()
367 static void denormalizeStringVector(SmallVectorImpl<const char *> &Args, in denormalizeStringVector() argument
383 denormalizeString(Args, Spelling, SA, Option::OptionClass::JoinedClass, in denormalizeStringVector()
391 denormalizeString(Args, Spelling, SA, OptClass, TableIndex, Value); in denormalizeStringVector()
400 const ArgList &Args, in normalizeTriple() argument
402 auto *Arg = Args.getLastArg(Opt); in normalizeTriple()
459 DiagnosticsEngine &Diags, const ArgList &Args, in FixupInvocation() argument
493 if (Args.hasArg(OPT_fconcepts_ts)) in FixupInvocation()
498 Arg *A = Args.getLastArg(OPT_fnew_alignment_EQ); in FixupInvocation()
500 << A->getAsString(Args) << A->getValue(); in FixupInvocation()
509 if (Args.hasArg(OPT_fgnu89_inline) && LangOpts.CPlusPlus) in FixupInvocation()
513 if (Args.hasArg(OPT_fgpu_allow_device_init) && !LangOpts.HIP) in FixupInvocation()
515 << Args.getLastArg(OPT_fgpu_allow_device_init)->getAsString(Args); in FixupInvocation()
517 if (Args.hasArg(OPT_gpu_max_threads_per_block_EQ) && !LangOpts.HIP) in FixupInvocation()
519 << Args.getLastArg(OPT_gpu_max_threads_per_block_EQ)->getAsString(Args); in FixupInvocation()
528 if (Args.hasArg(OPT_ffp_eval_method_EQ)) { in FixupInvocation()
540 if (Args.getLastArg(OPT_cl_strict_aliasing) && in FixupInvocation()
544 << Args.getLastArg(OPT_cl_strict_aliasing)->getAsString(Args); in FixupInvocation()
546 if (Arg *A = Args.getLastArg(OPT_fdefault_calling_conv_EQ)) { in FixupInvocation()
567 static unsigned getOptimizationLevel(ArgList &Args, InputKind IK, in getOptimizationLevel() argument
572 !Args.hasArg(OPT_cl_opt_disable)) in getOptimizationLevel()
575 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { in getOptimizationLevel()
591 return getLastArgIntValue(Args, OPT_O, DefaultOpt, Diags); in getOptimizationLevel()
597 static unsigned getOptimizationLevelSize(ArgList &Args) { in getOptimizationLevelSize() argument
598 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { in getOptimizationLevelSize()
613 static void GenerateArg(SmallVectorImpl<const char *> &Args, in GenerateArg() argument
617 denormalizeSimpleFlag(Args, SA(Opt.getPrefix() + Opt.getName()), SA, in GenerateArg()
621 static void GenerateArg(SmallVectorImpl<const char *> &Args, in GenerateArg() argument
626 denormalizeString(Args, SA(Opt.getPrefix() + Opt.getName()), SA, in GenerateArg()
672 auto SerializeArgs = [](ArrayRef<const char *> Args) { in RoundTrip() argument
675 for (const char *Arg : Args) { in RoundTrip()
770 static void addDiagnosticArgs(ArgList &Args, OptSpecifier Group, in addDiagnosticArgs() argument
773 for (auto *A : Args.filtered(Group)) { in addDiagnosticArgs()
796 static void getAllNoBuiltinFuncValues(ArgList &Args, in getAllNoBuiltinFuncValues() argument
798 std::vector<std::string> Values = Args.getAllArgValues(OPT_fno_builtin_); in getAllNoBuiltinFuncValues()
804 SmallVectorImpl<const char *> &Args, in GenerateAnalyzerArgs() argument
814 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateAnalyzerArgs()
823 GenerateArg(Args, OPT_analyzer_constraints, CMDFLAG, SA); \ in GenerateAnalyzerArgs()
835 GenerateArg(Args, OPT_analyzer_output, CMDFLAG, SA); \ in GenerateAnalyzerArgs()
847 GenerateArg(Args, OPT_analyzer_purge, CMDFLAG, SA); \ in GenerateAnalyzerArgs()
859 GenerateArg(Args, OPT_analyzer_inlining_mode, CMDFLAG, SA); \ in GenerateAnalyzerArgs()
870 GenerateArg(Args, Opt, CP.first, SA); in GenerateAnalyzerArgs()
883 GenerateArg(Args, OPT_analyzer_config, C.getKey() + "=" + C.getValue(), SA); in GenerateAnalyzerArgs()
889 static bool ParseAnalyzerArgs(AnalyzerOptions &Opts, ArgList &Args, in ParseAnalyzerArgs() argument
901 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseAnalyzerArgs()
906 if (Args.hasArg(OPT_analyzer_store)) in ParseAnalyzerArgs()
909 if (Args.hasArg(OPT_analyzer_opt_analyze_nested_blocks)) in ParseAnalyzerArgs()
914 if (Arg *A = Args.getLastArg(OPT_analyzer_constraints)) { in ParseAnalyzerArgs()
923 << A->getAsString(Args) << Name; in ParseAnalyzerArgs()
934 if (Arg *A = Args.getLastArg(OPT_analyzer_output)) { in ParseAnalyzerArgs()
943 << A->getAsString(Args) << Name; in ParseAnalyzerArgs()
949 if (Arg *A = Args.getLastArg(OPT_analyzer_purge)) { in ParseAnalyzerArgs()
958 << A->getAsString(Args) << Name; in ParseAnalyzerArgs()
964 if (Arg *A = Args.getLastArg(OPT_analyzer_inlining_mode)) { in ParseAnalyzerArgs()
973 << A->getAsString(Args) << Name; in ParseAnalyzerArgs()
981 Args.filtered(OPT_analyzer_checker, OPT_analyzer_disable_checker)) { in ParseAnalyzerArgs()
995 for (const auto *A : Args.filtered(OPT_analyzer_config)) { in ParseAnalyzerArgs()
1036 for (unsigned i = 0; i < Args.getNumInputArgStrings(); ++i) { in ParseAnalyzerArgs()
1039 os << Args.getArgString(i); in ParseAnalyzerArgs()
1162 GenerateOptimizationRemark(SmallVectorImpl<const char *> &Args, in GenerateOptimizationRemark() argument
1167 GenerateArg(Args, OptEQ, Remark.Pattern, SA); in GenerateOptimizationRemark()
1169 GenerateArg(Args, OPT_R_Joined, Name, SA); in GenerateOptimizationRemark()
1171 GenerateArg(Args, OPT_R_Joined, StringRef("no-") + Name, SA); in GenerateOptimizationRemark()
1179 ParseOptimizationRemark(DiagnosticsEngine &Diags, ArgList &Args, in ParseOptimizationRemark() argument
1183 auto InitializeResultPattern = [&Diags, &Args, &Result](const Arg *A, in ParseOptimizationRemark()
1191 << RegexError << A->getAsString(Args); in ParseOptimizationRemark()
1198 for (Arg *A : Args) { in ParseOptimizationRemark()
1271 ArgList &Args, DiagnosticsEngine &D, in parseXRayInstrumentationBundle() argument
1320 const CodeGenOptions &Opts, SmallVectorImpl<const char *> &Args, in GenerateCodeGenArgs() argument
1326 GenerateArg(Args, OPT_O0, SA); in GenerateCodeGenArgs()
1328 GenerateArg(Args, OPT_O, Twine(Opts.OptimizationLevel), SA); in GenerateCodeGenArgs()
1336 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateCodeGenArgs()
1343 GenerateArg(Args, OPT_finline_functions, SA); in GenerateCodeGenArgs()
1345 GenerateArg(Args, OPT_finline_hint_functions, SA); in GenerateCodeGenArgs()
1347 GenerateArg(Args, OPT_fno_inline, SA); in GenerateCodeGenArgs()
1351 GenerateArg(Args, OPT_fdirect_access_external_data, SA); in GenerateCodeGenArgs()
1353 GenerateArg(Args, OPT_fno_direct_access_external_data, SA); in GenerateCodeGenArgs()
1383 GenerateArg(Args, OPT_debug_info_kind_EQ, *DebugInfoVal, SA); in GenerateCodeGenArgs()
1386 GenerateArg(Args, OPT_fdebug_prefix_map_EQ, in GenerateCodeGenArgs()
1390 GenerateArg(Args, OPT_fcoverage_prefix_map_EQ, in GenerateCodeGenArgs()
1394 GenerateArg(Args, OPT_new_struct_path_tbaa, SA); in GenerateCodeGenArgs()
1397 GenerateArg(Args, OPT_O, "s", SA); in GenerateCodeGenArgs()
1399 GenerateArg(Args, OPT_O, "z", SA); in GenerateCodeGenArgs()
1407 GenerateArg(Args, OPT_funroll_loops, SA); in GenerateCodeGenArgs()
1409 GenerateArg(Args, OPT_fno_unroll_loops, SA); in GenerateCodeGenArgs()
1412 GenerateArg(Args, OPT_fbinutils_version_EQ, Opts.BinutilsVersion, SA); in GenerateCodeGenArgs()
1416 GenerateArg(Args, OPT_ggnu_pubnames, SA); in GenerateCodeGenArgs()
1420 GenerateArg(Args, OPT_gpubnames, SA); in GenerateCodeGenArgs()
1425 GenerateArg(Args, OPT_gsimple_template_names_EQ, "simple", SA); in GenerateCodeGenArgs()
1427 GenerateArg(Args, OPT_gsimple_template_names_EQ, "mangled", SA); in GenerateCodeGenArgs()
1434 GenerateArg(Args, OPT_ftime_report_EQ, "per-pass-run", SA); in GenerateCodeGenArgs()
1436 GenerateArg(Args, OPT_ftime_report, SA); in GenerateCodeGenArgs()
1440 GenerateArg(Args, OPT_flto_EQ, "full", SA); in GenerateCodeGenArgs()
1443 GenerateArg(Args, OPT_flto_EQ, "thin", SA); in GenerateCodeGenArgs()
1446 GenerateArg(Args, OPT_fthinlto_index_EQ, Opts.ThinLTOIndexFile, SA); in GenerateCodeGenArgs()
1449 GenerateArg(Args, OPT_save_temps_EQ, "obj", SA); in GenerateCodeGenArgs()
1454 GenerateArg(Args, OPT_fmemory_profile, SA); in GenerateCodeGenArgs()
1458 GenerateArg(Args, OPT_fmemory_profile_EQ, in GenerateCodeGenArgs()
1464 GenerateArg(Args, OPT_coverage_version_EQ, in GenerateCodeGenArgs()
1475 GenerateArg(Args, OPT_fxray_instrumentation_bundle, InstrBundle, SA); in GenerateCodeGenArgs()
1479 GenerateArg(Args, OPT_fcf_protection_EQ, "full", SA); in GenerateCodeGenArgs()
1481 GenerateArg(Args, OPT_fcf_protection_EQ, "return", SA); in GenerateCodeGenArgs()
1483 GenerateArg(Args, OPT_fcf_protection_EQ, "branch", SA); in GenerateCodeGenArgs()
1486 GenerateArg(Args, OPT_mibt_seal, SA); in GenerateCodeGenArgs()
1489 GenerateArg(Args, OPT_mfunction_return_EQ, "thunk-extern", SA); in GenerateCodeGenArgs()
1494 GenerateArg(Args, in GenerateCodeGenArgs()
1504 Args, Opts.EmulatedTLS ? OPT_femulated_tls : OPT_fno_emulated_tls, SA); in GenerateCodeGenArgs()
1508 GenerateArg(Args, OPT_fdenormal_fp_math_EQ, Opts.FPDenormalMode.str(), SA); in GenerateCodeGenArgs()
1512 GenerateArg(Args, OPT_fdenormal_fp_math_f32_EQ, Opts.FP32DenormalMode.str(), in GenerateCodeGenArgs()
1518 GenerateArg(Args, Opt, SA); in GenerateCodeGenArgs()
1522 GenerateArg(Args, Opt, SA); in GenerateCodeGenArgs()
1526 GenerateArg(Args, OPT_mabi_EQ_vec_extabi, SA); in GenerateCodeGenArgs()
1529 GenerateArg(Args, OPT_opt_record_passes, Opts.OptRecordPasses, SA); in GenerateCodeGenArgs()
1532 GenerateArg(Args, OPT_opt_record_format, Opts.OptRecordFormat, SA); in GenerateCodeGenArgs()
1534 GenerateOptimizationRemark(Args, SA, OPT_Rpass_EQ, "pass", in GenerateCodeGenArgs()
1537 GenerateOptimizationRemark(Args, SA, OPT_Rpass_missed_EQ, "pass-missed", in GenerateCodeGenArgs()
1540 GenerateOptimizationRemark(Args, SA, OPT_Rpass_analysis_EQ, "pass-analysis", in GenerateCodeGenArgs()
1543 GenerateArg(Args, OPT_fdiagnostics_hotness_threshold_EQ, in GenerateCodeGenArgs()
1549 GenerateArg(Args, OPT_fdiagnostics_misexpect_tolerance_EQ, in GenerateCodeGenArgs()
1553 GenerateArg(Args, OPT_fsanitize_recover_EQ, Sanitizer, SA); in GenerateCodeGenArgs()
1556 GenerateArg(Args, OPT_fsanitize_trap_EQ, Sanitizer, SA); in GenerateCodeGenArgs()
1559 GenerateArg(Args, OPT_Qn, SA); in GenerateCodeGenArgs()
1565 GenerateArg(Args, OPT_ffinite_loops, SA); in GenerateCodeGenArgs()
1568 GenerateArg(Args, OPT_fno_finite_loops, SA); in GenerateCodeGenArgs()
1573 bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, in ParseCodeGenArgs() argument
1581 unsigned OptimizationLevel = getOptimizationLevel(Args, IK, Diags); in ParseCodeGenArgs()
1588 << Args.getLastArg(OPT_O)->getAsString(Args) << "-O" << MaxOptLevel; in ParseCodeGenArgs()
1606 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseCodeGenArgs()
1615 } else if (const Arg *A = Args.getLastArg(options::OPT_finline_functions, in ParseCodeGenArgs()
1634 Args.hasArg(OPT_fdirect_access_external_data) || in ParseCodeGenArgs()
1635 (!Args.hasArg(OPT_fno_direct_access_external_data) && in ParseCodeGenArgs()
1638 if (Arg *A = Args.getLastArg(OPT_debug_info_kind_EQ)) { in ParseCodeGenArgs()
1649 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) in ParseCodeGenArgs()
1658 Args.getLastArg(OPT_fuse_ctor_homing, OPT_fno_use_ctor_homing)) { in ParseCodeGenArgs()
1667 for (const auto &Arg : Args.getAllArgValues(OPT_fdebug_prefix_map_EQ)) { in ParseCodeGenArgs()
1673 for (const auto &Arg : Args.getAllArgValues(OPT_fcoverage_prefix_map_EQ)) { in ParseCodeGenArgs()
1694 Opts.NewStructPathTBAA = !Args.hasArg(OPT_no_struct_path_tbaa) && in ParseCodeGenArgs()
1695 Args.hasArg(OPT_new_struct_path_tbaa); in ParseCodeGenArgs()
1696 Opts.OptimizeSize = getOptimizationLevelSize(Args); in ParseCodeGenArgs()
1701 Args.hasFlag(OPT_funroll_loops, OPT_fno_unroll_loops, in ParseCodeGenArgs()
1704 std::string(Args.getLastArgValue(OPT_fbinutils_version_EQ)); in ParseCodeGenArgs()
1707 Args.hasArg(OPT_ggnu_pubnames) in ParseCodeGenArgs()
1709 : Args.hasArg(OPT_gpubnames) in ParseCodeGenArgs()
1712 if (const Arg *A = Args.getLastArg(OPT_gsimple_template_names_EQ)) { in ParseCodeGenArgs()
1726 if (const Arg *A = Args.getLastArg(OPT_ftime_report, OPT_ftime_report_EQ)) { in ParseCodeGenArgs()
1738 << A->getAsString(Args) << A->getValue(); in ParseCodeGenArgs()
1744 if (Arg *A = Args.getLastArg(OPT_flto_EQ)) { in ParseCodeGenArgs()
1750 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << S; in ParseCodeGenArgs()
1752 if (Arg *A = Args.getLastArg(OPT_fthinlto_index_EQ)) { in ParseCodeGenArgs()
1755 << A->getAsString(Args) << "-x ir"; in ParseCodeGenArgs()
1757 std::string(Args.getLastArgValue(OPT_fthinlto_index_EQ)); in ParseCodeGenArgs()
1759 if (Arg *A = Args.getLastArg(OPT_save_temps_EQ)) in ParseCodeGenArgs()
1767 if (Args.hasArg(OPT_fmemory_profile_EQ)) { in ParseCodeGenArgs()
1769 std::string(Args.getLastArgValue(OPT_fmemory_profile_EQ))); in ParseCodeGenArgs()
1772 } else if (Args.hasArg(OPT_fmemory_profile)) in ParseCodeGenArgs()
1777 if (Args.hasArg(OPT_coverage_version_EQ)) { in ParseCodeGenArgs()
1778 StringRef CoverageVersion = Args.getLastArgValue(OPT_coverage_version_EQ); in ParseCodeGenArgs()
1781 << Args.getLastArg(OPT_coverage_version_EQ)->getAsString(Args) in ParseCodeGenArgs()
1791 for (const auto &A : Args) { in ParseCodeGenArgs()
1800 A->render(Args, ASL); in ParseCodeGenArgs()
1810 Args.getAllArgValues(OPT_fxray_instrumentation_bundle); in ParseCodeGenArgs()
1815 parseXRayInstrumentationBundle("-fxray-instrumentation-bundle=", A, Args, in ParseCodeGenArgs()
1818 if (const Arg *A = Args.getLastArg(OPT_fcf_protection_EQ)) { in ParseCodeGenArgs()
1828 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Name; in ParseCodeGenArgs()
1831 if (const Arg *A = Args.getLastArg(OPT_mfunction_return_EQ)) { in ParseCodeGenArgs()
1842 << A->getAsString(Args) << A->getValue(); in ParseCodeGenArgs()
1844 Args.getLastArgValue(OPT_mcmodel_EQ).equals("large")) in ParseCodeGenArgs()
1846 << A->getAsString(Args) in ParseCodeGenArgs()
1847 << Args.getLastArg(OPT_mcmodel_EQ)->getAsString(Args); in ParseCodeGenArgs()
1852 if (Opts.PrepareForLTO && Args.hasArg(OPT_mibt_seal)) in ParseCodeGenArgs()
1856 Args.filtered(OPT_mlink_bitcode_file, OPT_mlink_builtin_bitcode)) { in ParseCodeGenArgs()
1869 if (Args.getLastArg(OPT_femulated_tls) || in ParseCodeGenArgs()
1870 Args.getLastArg(OPT_fno_emulated_tls)) { in ParseCodeGenArgs()
1874 if (Arg *A = Args.getLastArg(OPT_ftlsmodel_EQ)) { in ParseCodeGenArgs()
1882 if (Arg *A = Args.getLastArg(OPT_fdenormal_fp_math_EQ)) { in ParseCodeGenArgs()
1887 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Val; in ParseCodeGenArgs()
1890 if (Arg *A = Args.getLastArg(OPT_fdenormal_fp_math_f32_EQ)) { in ParseCodeGenArgs()
1894 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Val; in ParseCodeGenArgs()
1900 Args.getLastArg(OPT_fpcc_struct_return, OPT_freg_struct_return, in ParseCodeGenArgs()
1920 Args.getLastArg(OPT_mabi_EQ_vec_default, OPT_mabi_EQ_vec_extabi)) { in ParseCodeGenArgs()
1929 if (Arg *A = Args.getLastArg(OPT_mabi_EQ_quadword_atomics)) { in ParseCodeGenArgs()
1940 if (Arg *A = Args.getLastArg(OPT_opt_record_passes)) { in ParseCodeGenArgs()
1945 if (Arg *A = Args.getLastArg(OPT_opt_record_format)) { in ParseCodeGenArgs()
1951 ParseOptimizationRemark(Diags, Args, OPT_Rpass_EQ, "pass"); in ParseCodeGenArgs()
1954 ParseOptimizationRemark(Diags, Args, OPT_Rpass_missed_EQ, "pass-missed"); in ParseCodeGenArgs()
1957 Diags, Args, OPT_Rpass_analysis_EQ, "pass-analysis"); in ParseCodeGenArgs()
1975 Args.getLastArg(options::OPT_fdiagnostics_hotness_threshold_EQ)) { in ParseCodeGenArgs()
1993 Args.getLastArg(options::OPT_fdiagnostics_misexpect_tolerance_EQ)) { in ParseCodeGenArgs()
2026 Args.getAllArgValues(OPT_fsanitize_recover_EQ), Diags, in ParseCodeGenArgs()
2029 Args.getAllArgValues(OPT_fsanitize_trap_EQ), Diags, in ParseCodeGenArgs()
2032 Opts.EmitVersionIdentMetadata = Args.hasFlag(OPT_Qy, OPT_Qn, true); in ParseCodeGenArgs()
2034 if (Args.hasArg(options::OPT_ffinite_loops)) in ParseCodeGenArgs()
2036 else if (Args.hasArg(options::OPT_fno_finite_loops)) in ParseCodeGenArgs()
2039 Opts.EmitIEEENaNCompliantInsts = Args.hasFlag( in ParseCodeGenArgs()
2049 SmallVectorImpl<const char *> &Args, in GenerateDependencyOutputArgs() argument
2058 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateDependencyOutputArgs()
2064 GenerateArg(Args, OPT_show_includes, SA); in GenerateDependencyOutputArgs()
2080 GenerateArg(Args, OPT_fdepfile_entry, Dep.first, SA); in GenerateDependencyOutputArgs()
2087 ArgList &Args, DiagnosticsEngine &Diags, in ParseDependencyOutputArgs() argument
2099 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseDependencyOutputArgs()
2104 if (Args.hasArg(OPT_show_includes)) { in ParseDependencyOutputArgs()
2119 if (!Args.hasArg(OPT_fno_sanitize_ignorelist)) { in ParseDependencyOutputArgs()
2120 for (const auto *A : Args.filtered(OPT_fsanitize_ignorelist_EQ)) { in ParseDependencyOutputArgs()
2126 for (const auto *A : Args.filtered(OPT_fsanitize_system_ignorelist_EQ)) { in ParseDependencyOutputArgs()
2135 for (const auto &Filename : Args.getAllArgValues(OPT_fprofile_list_EQ)) in ParseDependencyOutputArgs()
2139 for (const auto *A : Args.filtered(OPT_fdepfile_entry)) in ParseDependencyOutputArgs()
2143 for (const auto *A : Args.filtered(OPT_fmodule_file)) { in ParseDependencyOutputArgs()
2152 static bool parseShowColorsArgs(const ArgList &Args, bool DefaultColor) { in parseShowColorsArgs() argument
2162 for (auto *A : Args) { in parseShowColorsArgs()
2202 SmallVectorImpl<const char *> &Args, in GenerateFileSystemArgs() argument
2212 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateFileSystemArgs()
2218 static bool ParseFileSystemArgs(FileSystemOptions &Opts, const ArgList &Args, in ParseFileSystemArgs() argument
2230 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseFileSystemArgs()
2239 SmallVectorImpl<const char *> &Args, in GenerateMigratorArgs() argument
2248 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateMigratorArgs()
2254 static bool ParseMigratorArgs(MigratorOptions &Opts, const ArgList &Args, in ParseMigratorArgs() argument
2266 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseMigratorArgs()
2275 const DiagnosticOptions &Opts, SmallVectorImpl<const char *> &Args, in GenerateDiagnosticArgs() argument
2284 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateDiagnosticArgs()
2290 GenerateArg(Args, OPT_diagnostic_serialized_file, in GenerateDiagnosticArgs()
2294 GenerateArg(Args, OPT_fcolor_diagnostics, SA); in GenerateDiagnosticArgs()
2298 GenerateArg(Args, OPT_verify, SA); in GenerateDiagnosticArgs()
2302 GenerateArg(Args, OPT_verify_EQ, Prefix, SA); in GenerateDiagnosticArgs()
2308 GenerateArg(Args, OPT_verify_ignore_unexpected, SA); in GenerateDiagnosticArgs()
2311 GenerateArg(Args, OPT_verify_ignore_unexpected_EQ, "note", SA); in GenerateDiagnosticArgs()
2313 GenerateArg(Args, OPT_verify_ignore_unexpected_EQ, "remark", SA); in GenerateDiagnosticArgs()
2315 GenerateArg(Args, OPT_verify_ignore_unexpected_EQ, "warning", SA); in GenerateDiagnosticArgs()
2317 GenerateArg(Args, OPT_verify_ignore_unexpected_EQ, "error", SA); in GenerateDiagnosticArgs()
2324 Args.push_back(SA(StringRef("-W") + Warning)); in GenerateDiagnosticArgs()
2336 Args.push_back(SA(StringRef("-R") + Remark)); in GenerateDiagnosticArgs()
2344 InputArgList Args = getDriverOptTable().ParseArgs( in CreateAndPopulateDiagOpts() local
2349 (void)ParseDiagnosticArgs(*DiagOpts, Args); in CreateAndPopulateDiagOpts()
2353 bool clang::ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args, in ParseDiagnosticArgs() argument
2375 Args, *Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseDiagnosticArgs()
2383 Args.getLastArg(OPT_diagnostic_serialized_file, OPT__serialize_diags)) in ParseDiagnosticArgs()
2385 Opts.ShowColors = parseShowColorsArgs(Args, DefaultDiagColor); in ParseDiagnosticArgs()
2387 Opts.VerifyDiagnostics = Args.hasArg(OPT_verify) || Args.hasArg(OPT_verify_EQ); in ParseDiagnosticArgs()
2388 Opts.VerifyPrefixes = Args.getAllArgValues(OPT_verify_EQ); in ParseDiagnosticArgs()
2389 if (Args.hasArg(OPT_verify)) in ParseDiagnosticArgs()
2400 Args.getAllArgValues(OPT_verify_ignore_unexpected_EQ), *Diags, DiagMask); in ParseDiagnosticArgs()
2401 if (Args.hasArg(OPT_verify_ignore_unexpected)) in ParseDiagnosticArgs()
2410 addDiagnosticArgs(Args, OPT_W_Group, OPT_W_value_Group, Opts.Warnings); in ParseDiagnosticArgs()
2411 addDiagnosticArgs(Args, OPT_R_Group, OPT_R_value_Group, Opts.Remarks); in ParseDiagnosticArgs()
2426 SmallVector<StringRef, 5> Args; in parseTestModuleFileExtensionArg() local
2427 Arg.split(Args, ':', 5); in parseTestModuleFileExtensionArg()
2428 if (Args.size() < 5) in parseTestModuleFileExtensionArg()
2431 BlockName = std::string(Args[0]); in parseTestModuleFileExtensionArg()
2432 if (Args[1].getAsInteger(10, MajorVersion)) return true; in parseTestModuleFileExtensionArg()
2433 if (Args[2].getAsInteger(10, MinorVersion)) return true; in parseTestModuleFileExtensionArg()
2434 if (Args[3].getAsInteger(2, Hashed)) return true; in parseTestModuleFileExtensionArg()
2435 if (Args.size() > 4) in parseTestModuleFileExtensionArg()
2436 UserInfo = std::string(Args[4]); in parseTestModuleFileExtensionArg()
2518 SmallVectorImpl<const char *> &Args, in GenerateFrontendArgs() argument
2528 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateFrontendArgs()
2538 GenerateArg(Args, *ProgramActionOpt, SA); in GenerateFrontendArgs()
2546 GenerateArg(Args, OPT_plugin, Opts.ActionName, SA); in GenerateFrontendArgs()
2567 GenerateArg(Args, OPT_ast_dump_all_EQ, Format, SA); in GenerateFrontendArgs()
2569 GenerateArg(Args, OPT_ast_dump_EQ, Format, SA); in GenerateFrontendArgs()
2572 GenerateArg(Args, OPT_ast_dump_all, SA); in GenerateFrontendArgs()
2574 GenerateArg(Args, OPT_ast_dump, SA); in GenerateFrontendArgs()
2581 GenerateArg(Args, OPT_fixit_EQ, Opts.FixItSuffix, SA); in GenerateFrontendArgs()
2592 denormalizeString(Args, Spelling, SA, Opt.getKind(), 0, PluginArg); in GenerateFrontendArgs()
2597 GenerateArg(Args, OPT_ftest_module_file_extension_EQ, TestExt->str(), SA); in GenerateFrontendArgs()
2600 GenerateArg(Args, OPT_code_completion_at, Opts.CodeCompletionAt.ToString(), in GenerateFrontendArgs()
2604 GenerateArg(Args, OPT_load, Plugin, SA); in GenerateFrontendArgs()
2609 GenerateArg(Args, OPT_fmodule_file, ModuleFile, SA); in GenerateFrontendArgs()
2612 GenerateArg(Args, OPT_aux_target_cpu, *Opts.AuxTargetCPU, SA); in GenerateFrontendArgs()
2616 GenerateArg(Args, OPT_aux_target_feature, Feature, SA); in GenerateFrontendArgs()
2683 GenerateArg(Args, OPT_x, in GenerateFrontendArgs()
2689 Args.push_back(SA(Input.getFile())); in GenerateFrontendArgs()
2692 static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args, in ParseFrontendArgs() argument
2704 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseFrontendArgs()
2710 if (const Arg *A = Args.getLastArg(OPT_Action_Group)) { in ParseFrontendArgs()
2726 << A->getAsString(Args) << A->getValue(); in ParseFrontendArgs()
2736 Args.hasArg(OPT_interface_stub_version_EQ) in ParseFrontendArgs()
2737 ? Args.getLastArgValue(OPT_interface_stub_version_EQ) in ParseFrontendArgs()
2764 if (const Arg* A = Args.getLastArg(OPT_plugin)) { in ParseFrontendArgs()
2769 for (const auto *AA : Args.filtered(OPT_plugin_arg)) in ParseFrontendArgs()
2773 Args.getAllArgValues(OPT_ftest_module_file_extension_EQ)) { in ParseFrontendArgs()
2792 if (const Arg *A = Args.getLastArg(OPT_code_completion_at)) { in ParseFrontendArgs()
2797 << A->getAsString(Args) << A->getValue(); in ParseFrontendArgs()
2800 Opts.Plugins = Args.getAllArgValues(OPT_load); in ParseFrontendArgs()
2801 Opts.ASTDumpDecls = Args.hasArg(OPT_ast_dump, OPT_ast_dump_EQ); in ParseFrontendArgs()
2802 Opts.ASTDumpAll = Args.hasArg(OPT_ast_dump_all, OPT_ast_dump_all_EQ); in ParseFrontendArgs()
2804 for (const auto *A : Args.filtered(OPT_fmodule_file)) { in ParseFrontendArgs()
2814 if (Args.hasArg(OPT_aux_target_cpu)) in ParseFrontendArgs()
2815 Opts.AuxTargetCPU = std::string(Args.getLastArgValue(OPT_aux_target_cpu)); in ParseFrontendArgs()
2816 if (Args.hasArg(OPT_aux_target_feature)) in ParseFrontendArgs()
2817 Opts.AuxTargetFeatures = Args.getAllArgValues(OPT_aux_target_feature); in ParseFrontendArgs()
2826 if (const Arg *A = Args.getLastArg(OPT_x)) { in ParseFrontendArgs()
2892 << A->getAsString(Args) << A->getValue(); in ParseFrontendArgs()
2907 std::vector<std::string> Inputs = Args.getAllArgValues(OPT_INPUT); in ParseFrontendArgs()
2954 SmallVectorImpl<const char *> &Args, in GenerateHeaderSearchArgs() argument
2963 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateHeaderSearchArgs()
2969 GenerateArg(Args, OPT_stdlib_EQ, "libc++", SA); in GenerateHeaderSearchArgs()
2972 GenerateArg(Args, OPT_fmodules_cache_path, Opts.ModuleCachePath, SA); in GenerateHeaderSearchArgs()
2975 GenerateArg(Args, OPT_fmodule_file, File.first + "=" + File.second, SA); in GenerateHeaderSearchArgs()
2978 GenerateArg(Args, OPT_fprebuilt_module_path, Path, SA); in GenerateHeaderSearchArgs()
2981 GenerateArg(Args, OPT_fmodules_ignore_macro, Macro.val(), SA); in GenerateHeaderSearchArgs()
3012 GenerateArg(Args, OPT_index_header_map, SA); in GenerateHeaderSearchArgs()
3013 GenerateArg(Args, Opt, It->Path, SA); in GenerateHeaderSearchArgs()
3025 GenerateArg(Args, Opt, It->Path, SA); in GenerateHeaderSearchArgs()
3032 GenerateArg(Args, OPT_idirafter, It->Path, SA); in GenerateHeaderSearchArgs()
3034 GenerateArg(Args, OPT_iquote, It->Path, SA); in GenerateHeaderSearchArgs()
3036 GenerateArg(Args, It->IgnoreSysRoot ? OPT_isystem : OPT_iwithsysroot, in GenerateHeaderSearchArgs()
3039 GenerateArg(Args, OPT_iframework, It->Path, SA); in GenerateHeaderSearchArgs()
3041 GenerateArg(Args, OPT_iframeworkwithsysroot, It->Path, SA); in GenerateHeaderSearchArgs()
3045 GenerateArg(Args, OPT_c_isystem, It->Path, SA); in GenerateHeaderSearchArgs()
3047 GenerateArg(Args, OPT_cxx_isystem, It->Path, SA); in GenerateHeaderSearchArgs()
3049 GenerateArg(Args, OPT_objc_isystem, It->Path, SA); in GenerateHeaderSearchArgs()
3051 GenerateArg(Args, OPT_objcxx_isystem, It->Path, SA); in GenerateHeaderSearchArgs()
3063 GenerateArg(Args, Opt, It->Path, SA); in GenerateHeaderSearchArgs()
3072 GenerateArg(Args, Opt, P.Prefix, SA); in GenerateHeaderSearchArgs()
3076 GenerateArg(Args, OPT_ivfsoverlay, F, SA); in GenerateHeaderSearchArgs()
3079 static bool ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args, in ParseHeaderSearchArgs() argument
3092 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseHeaderSearchArgs()
3097 if (const Arg *A = Args.getLastArg(OPT_stdlib_EQ)) in ParseHeaderSearchArgs()
3101 SmallString<128> P(Args.getLastArgValue(OPT_fmodules_cache_path)); in ParseHeaderSearchArgs()
3112 for (const auto *A : Args.filtered(OPT_fmodule_file)) { in ParseHeaderSearchArgs()
3120 for (const auto *A : Args.filtered(OPT_fprebuilt_module_path)) in ParseHeaderSearchArgs()
3123 for (const auto *A : Args.filtered(OPT_fmodules_ignore_macro)) { in ParseHeaderSearchArgs()
3132 Args.hasArg(OPT__sysroot_EQ) || Args.hasArg(OPT_isysroot); in ParseHeaderSearchArgs()
3133 for (const auto *A : Args.filtered(OPT_I, OPT_F, OPT_index_header_map)) { in ParseHeaderSearchArgs()
3161 Args.filtered(OPT_iprefix, OPT_iwithprefix, OPT_iwithprefixbefore)) { in ParseHeaderSearchArgs()
3170 for (const auto *A : Args.filtered(OPT_idirafter)) in ParseHeaderSearchArgs()
3172 for (const auto *A : Args.filtered(OPT_iquote)) in ParseHeaderSearchArgs()
3174 for (const auto *A : Args.filtered(OPT_isystem, OPT_iwithsysroot)) in ParseHeaderSearchArgs()
3177 for (const auto *A : Args.filtered(OPT_iframework)) in ParseHeaderSearchArgs()
3179 for (const auto *A : Args.filtered(OPT_iframeworkwithsysroot)) in ParseHeaderSearchArgs()
3184 for (const auto *A : Args.filtered(OPT_c_isystem)) in ParseHeaderSearchArgs()
3186 for (const auto *A : Args.filtered(OPT_cxx_isystem)) in ParseHeaderSearchArgs()
3188 for (const auto *A : Args.filtered(OPT_objc_isystem)) in ParseHeaderSearchArgs()
3190 for (const auto *A : Args.filtered(OPT_objcxx_isystem)) in ParseHeaderSearchArgs()
3195 Args.filtered(OPT_internal_isystem, OPT_internal_externc_isystem)) { in ParseHeaderSearchArgs()
3204 Args.filtered(OPT_system_header_prefix, OPT_no_system_header_prefix)) in ParseHeaderSearchArgs()
3208 for (const auto *A : Args.filtered(OPT_ivfsoverlay)) in ParseHeaderSearchArgs()
3296 SmallVectorImpl<const char *> &Args, in GenerateLangArgs() argument
3302 GenerateArg(Args, OPT_fobjc_arc, SA); in GenerateLangArgs()
3304 GenerateArg(Args, OPT_pic_level, Twine(Opts.PICLevel), SA); in GenerateLangArgs()
3306 GenerateArg(Args, OPT_pic_is_pie, SA); in GenerateLangArgs()
3308 GenerateArg(Args, OPT_fsanitize_EQ, Sanitizer, SA); in GenerateLangArgs()
3330 GenerateArg(Args, StdOpt, LangStandard.getName(), SA); in GenerateLangArgs()
3333 GenerateArg(Args, OPT_finclude_default_header, SA); in GenerateLangArgs()
3335 GenerateArg(Args, OPT_fdeclare_opencl_builtins, SA); in GenerateLangArgs()
3345 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateLangArgs()
3353 GenerateArg(Args, OPT_fobjc_runtime_EQ, Opts.ObjCRuntime.getAsString(), SA); in GenerateLangArgs()
3356 GenerateArg(Args, OPT_fobjc_gc_only, SA); in GenerateLangArgs()
3358 GenerateArg(Args, OPT_fobjc_gc, SA); in GenerateLangArgs()
3360 GenerateArg(Args, OPT_fobjc_arc, SA); in GenerateLangArgs()
3363 GenerateArg(Args, OPT_fobjc_runtime_has_weak, SA); in GenerateLangArgs()
3366 GenerateArg(Args, OPT_fobjc_weak, SA); in GenerateLangArgs()
3369 GenerateArg(Args, OPT_fobjc_subscripting_legacy_runtime, SA); in GenerateLangArgs()
3376 GenerateArg(Args, OPT_fgnuc_version_EQ, in GenerateLangArgs()
3381 GenerateArg(Args, OPT_mignore_xcoff_visibility, SA); in GenerateLangArgs()
3384 GenerateArg(Args, OPT_ftrapv, SA); in GenerateLangArgs()
3385 GenerateArg(Args, OPT_ftrapv_handler, Opts.OverflowHandler, SA); in GenerateLangArgs()
3387 GenerateArg(Args, OPT_fwrapv, SA); in GenerateLangArgs()
3394 GenerateArg(Args, OPT_fms_compatibility_version, in GenerateLangArgs()
3400 GenerateArg(Args, OPT_fno_trigraphs, SA); in GenerateLangArgs()
3403 GenerateArg(Args, OPT_ftrigraphs, SA); in GenerateLangArgs()
3407 GenerateArg(Args, OPT_fblocks, SA); in GenerateLangArgs()
3411 GenerateArg(Args, OPT_fconvergent_functions, SA); in GenerateLangArgs()
3414 GenerateArg(Args, OPT_fno_builtin, SA); in GenerateLangArgs()
3418 GenerateArg(Args, OPT_fno_builtin_, Func, SA); in GenerateLangArgs()
3421 GenerateArg(Args, OPT_mlong_double_128, SA); in GenerateLangArgs()
3423 GenerateArg(Args, OPT_mlong_double_64, SA); in GenerateLangArgs()
3425 GenerateArg(Args, OPT_mlong_double_80, SA); in GenerateLangArgs()
3432 GenerateArg(Args, OPT_fopenmp, SA); in GenerateLangArgs()
3435 GenerateArg(Args, OPT_fopenmp_version_EQ, Twine(Opts.OpenMP), SA); in GenerateLangArgs()
3438 GenerateArg(Args, OPT_fnoopenmp_use_tls, SA); in GenerateLangArgs()
3441 GenerateArg(Args, OPT_fopenmp_is_device, SA); in GenerateLangArgs()
3444 GenerateArg(Args, OPT_fopenmp_enable_irbuilder, SA); in GenerateLangArgs()
3448 GenerateArg(Args, OPT_fopenmp_simd, SA); in GenerateLangArgs()
3451 GenerateArg(Args, OPT_fopenmp_version_EQ, Twine(Opts.OpenMP), SA); in GenerateLangArgs()
3455 GenerateArg(Args, OPT_fopenmp_assume_threads_oversubscription, SA); in GenerateLangArgs()
3458 GenerateArg(Args, OPT_fopenmp_assume_teams_oversubscription, SA); in GenerateLangArgs()
3461 GenerateArg(Args, OPT_fopenmp_target_debug_EQ, in GenerateLangArgs()
3465 GenerateArg(Args, OPT_fopenmp_cuda_number_of_sm_EQ, in GenerateLangArgs()
3469 GenerateArg(Args, OPT_fopenmp_cuda_blocks_per_sm_EQ, in GenerateLangArgs()
3473 GenerateArg(Args, OPT_fopenmp_cuda_teams_reduction_recs_num_EQ, in GenerateLangArgs()
3482 GenerateArg(Args, OPT_fopenmp_targets_EQ, OS.str(), SA); in GenerateLangArgs()
3486 GenerateArg(Args, OPT_fopenmp_host_ir_file_path, Opts.OMPHostIRFile, SA); in GenerateLangArgs()
3489 GenerateArg(Args, OPT_fopenmp_cuda_mode, SA); in GenerateLangArgs()
3492 GenerateArg(Args, OPT_fopenmp_cuda_force_full_runtime, SA); in GenerateLangArgs()
3498 GenerateArg(Args, OPT_ffp_contract, "fast", SA); in GenerateLangArgs()
3500 GenerateArg(Args, OPT_ffp_contract, "on", SA); in GenerateLangArgs()
3502 GenerateArg(Args, OPT_ffp_contract, "off", SA); in GenerateLangArgs()
3504 GenerateArg(Args, OPT_ffp_contract, "fast-honor-pragmas", SA); in GenerateLangArgs()
3507 GenerateArg(Args, OPT_fsanitize_EQ, Sanitizer, SA); in GenerateLangArgs()
3511 GenerateArg(Args, OPT_fsanitize_ignorelist_EQ, F, SA); in GenerateLangArgs()
3514 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "3.8", SA); in GenerateLangArgs()
3516 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "4.0", SA); in GenerateLangArgs()
3518 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "6.0", SA); in GenerateLangArgs()
3520 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "7.0", SA); in GenerateLangArgs()
3522 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "9.0", SA); in GenerateLangArgs()
3524 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "11.0", SA); in GenerateLangArgs()
3526 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "12.0", SA); in GenerateLangArgs()
3528 GenerateArg(Args, OPT_fclang_abi_compat_EQ, "14.0", SA); in GenerateLangArgs()
3532 GenerateArg(Args, OPT_msign_return_address_EQ, "all", SA); in GenerateLangArgs()
3535 GenerateArg(Args, OPT_msign_return_address_EQ, "non-leaf", SA); in GenerateLangArgs()
3539 GenerateArg(Args, OPT_msign_return_address_key_EQ, "b_key", SA); in GenerateLangArgs()
3542 GenerateArg(Args, OPT_fcxx_abi_EQ, TargetCXXABI::getSpelling(*Opts.CXXABI), in GenerateLangArgs()
3546 GenerateArg(Args, OPT_fexperimental_relative_cxx_abi_vtables, SA); in GenerateLangArgs()
3548 GenerateArg(Args, OPT_fno_experimental_relative_cxx_abi_vtables, SA); in GenerateLangArgs()
3551 GenerateArg(Args, OPT_ffile_reproducible, SA); in GenerateLangArgs()
3553 GenerateArg(Args, OPT_fno_file_reproducible, SA); in GenerateLangArgs()
3556 GenerateArg(Args, OPT_fmacro_prefix_map_EQ, MP.first + "=" + MP.second, SA); in GenerateLangArgs()
3559 GenerateArg(Args, OPT_frandomize_layout_seed_EQ, Opts.RandstructSeed, SA); in GenerateLangArgs()
3562 bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args, in ParseLangArgs() argument
3573 if (Args.hasArg(OPT_fobjc_arc)) in ParseLangArgs()
3577 Opts.PICLevel = getLastArgIntValue(Args, OPT_pic_level, 0, Diags); in ParseLangArgs()
3578 Opts.PIE = Args.hasArg(OPT_pic_is_pie); in ParseLangArgs()
3579 parseSanitizerKinds("-fsanitize=", Args.getAllArgValues(OPT_fsanitize_EQ), in ParseLangArgs()
3590 if (const Arg *A = Args.getLastArg(OPT_std_EQ)) { in ParseLangArgs()
3594 << A->getAsString(Args) << A->getValue(); in ParseLangArgs()
3624 << A->getAsString(Args) << GetInputKindName(IK); in ParseLangArgs()
3631 if (const Arg *A = Args.getLastArg(OPT_cl_std_EQ)) { in ParseLangArgs()
3647 << A->getAsString(Args) << A->getValue(); in ParseLangArgs()
3654 Opts.IncludeDefaultHeader = Args.hasArg(OPT_finclude_default_header); in ParseLangArgs()
3655 Opts.DeclareOpenCLBuiltins = Args.hasArg(OPT_fdeclare_opencl_builtins); in ParseLangArgs()
3669 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseLangArgs()
3674 if (const Arg *A = Args.getLastArg(OPT_fcf_protection_EQ)) { in ParseLangArgs()
3681 if ((Args.hasArg(OPT_fsycl_is_device) || Args.hasArg(OPT_fsycl_is_host)) && in ParseLangArgs()
3682 !Args.hasArg(OPT_sycl_std_EQ)) { in ParseLangArgs()
3692 if (Arg *arg = Args.getLastArg(OPT_fobjc_runtime_EQ)) { in ParseLangArgs()
3698 if (Args.hasArg(OPT_fobjc_gc_only)) in ParseLangArgs()
3700 else if (Args.hasArg(OPT_fobjc_gc)) in ParseLangArgs()
3702 else if (Args.hasArg(OPT_fobjc_arc)) { in ParseLangArgs()
3712 if (Args.hasArg(OPT_fobjc_runtime_has_weak)) in ParseLangArgs()
3719 if (auto weakArg = Args.getLastArg(OPT_fobjc_weak, OPT_fno_objc_weak)) { in ParseLangArgs()
3733 if (Args.hasArg(OPT_fobjc_subscripting_legacy_runtime)) in ParseLangArgs()
3738 if (Arg *A = Args.getLastArg(options::OPT_fgnuc_version_EQ)) { in ParseLangArgs()
3748 << A->getAsString(Args) << A->getValue(); in ParseLangArgs()
3753 if (T.isOSAIX() && (Args.hasArg(OPT_mignore_xcoff_visibility))) in ParseLangArgs()
3756 if (Args.hasArg(OPT_ftrapv)) { in ParseLangArgs()
3760 std::string(Args.getLastArgValue(OPT_ftrapv_handler)); in ParseLangArgs()
3762 else if (Args.hasArg(OPT_fwrapv)) in ParseLangArgs()
3766 if (const Arg *A = Args.getLastArg(OPT_fms_compatibility_version)) { in ParseLangArgs()
3769 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) in ParseLangArgs()
3783 Args.hasFlag(OPT_ftrigraphs, OPT_fno_trigraphs, Opts.Trigraphs); in ParseLangArgs()
3785 Opts.Blocks = Args.hasArg(OPT_fblocks) || (Opts.OpenCL in ParseLangArgs()
3790 Args.hasArg(OPT_fconvergent_functions); in ParseLangArgs()
3792 Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding; in ParseLangArgs()
3794 getAllNoBuiltinFuncValues(Args, Opts.NoBuiltinFuncs); in ParseLangArgs()
3795 if (Arg *A = Args.getLastArg(options::OPT_LongDouble_Group)) { in ParseLangArgs()
3811 if (Arg *A = Args.getLastArg(OPT_mrtd)) { in ParseLangArgs()
3825 Opts.OpenMP = Args.hasArg(OPT_fopenmp) ? 50 : 0; in ParseLangArgs()
3828 Args.hasFlag(options::OPT_fopenmp_simd, options::OPT_fno_openmp_simd, in ParseLangArgs()
3832 Opts.OpenMP && !Args.hasArg(options::OPT_fnoopenmp_use_tls); in ParseLangArgs()
3834 Opts.OpenMP && Args.hasArg(options::OPT_fopenmp_is_device); in ParseLangArgs()
3836 Opts.OpenMP && Args.hasArg(options::OPT_fopenmp_enable_irbuilder); in ParseLangArgs()
3838 Opts.OpenMPIsDevice || Args.hasArg(options::OPT_fopenmp_targets_EQ); in ParseLangArgs()
3844 Args, OPT_fopenmp_version_EQ, in ParseLangArgs()
3872 getLastArgIntValue(Args, options::OPT_fopenmp_cuda_number_of_sm_EQ, in ParseLangArgs()
3875 getLastArgIntValue(Args, options::OPT_fopenmp_cuda_blocks_per_sm_EQ, in ParseLangArgs()
3878 Args, options::OPT_fopenmp_cuda_teams_reduction_recs_num_EQ, in ParseLangArgs()
3884 if (Opts.OpenMPIsDevice && (Args.hasArg(OPT_fopenmp_target_debug) || in ParseLangArgs()
3885 Args.hasArg(OPT_fopenmp_target_debug_EQ))) { in ParseLangArgs()
3887 Args, OPT_fopenmp_target_debug_EQ, Opts.OpenMPTargetDebug, Diags); in ParseLangArgs()
3888 if (!Opts.OpenMPTargetDebug && Args.hasArg(OPT_fopenmp_target_debug)) in ParseLangArgs()
3893 if (Args.hasArg(OPT_fopenmp_assume_teams_oversubscription)) in ParseLangArgs()
3895 if (Args.hasArg(OPT_fopenmp_assume_threads_oversubscription)) in ParseLangArgs()
3900 if (Arg *A = Args.getLastArg(options::OPT_fopenmp_targets_EQ)) { in ParseLangArgs()
3932 if (Arg *A = Args.getLastArg(options::OPT_fopenmp_host_ir_file_path)) { in ParseLangArgs()
3941 Args.hasArg(options::OPT_fopenmp_cuda_mode); in ParseLangArgs()
3946 Args.hasArg(options::OPT_fopenmp_cuda_force_full_runtime); in ParseLangArgs()
3949 unsigned Opt = getOptimizationLevel(Args, IK, Diags), in ParseLangArgs()
3950 OptSize = getOptimizationLevelSize(Args); in ParseLangArgs()
3958 if (Arg *InlineArg = Args.getLastArg( in ParseLangArgs()
3964 if (Arg *A = Args.getLastArg(OPT_ffp_contract)) { in ParseLangArgs()
3975 Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Val; in ParseLangArgs()
3979 parseSanitizerKinds("-fsanitize=", Args.getAllArgValues(OPT_fsanitize_EQ), in ParseLangArgs()
3981 Opts.NoSanitizeFiles = Args.getAllArgValues(OPT_fsanitize_ignorelist_EQ); in ParseLangArgs()
3983 Args.getAllArgValues(OPT_fsanitize_system_ignorelist_EQ); in ParseLangArgs()
3988 if (Arg *A = Args.getLastArg(OPT_fclang_abi_compat_EQ)) { in ParseLangArgs()
4023 << A->getAsString(Args) << A->getValue(); in ParseLangArgs()
4027 if (Arg *A = Args.getLastArg(OPT_msign_return_address_EQ)) { in ParseLangArgs()
4041 << A->getAsString(Args) << SignScope; in ParseLangArgs()
4043 if (Arg *A = Args.getLastArg(OPT_msign_return_address_key_EQ)) { in ParseLangArgs()
4054 << A->getAsString(Args) << SignKey; in ParseLangArgs()
4060 StringRef CXXABI = Args.getLastArgValue(OPT_fcxx_abi_EQ); in ParseLangArgs()
4074 Args.hasFlag(options::OPT_fexperimental_relative_cxx_abi_vtables, in ParseLangArgs()
4078 for (const auto &A : Args.getAllArgValues(OPT_fmacro_prefix_map_EQ)) { in ParseLangArgs()
4085 !Args.getLastArg(OPT_fno_file_reproducible) && in ParseLangArgs()
4086 (Args.getLastArg(OPT_ffile_compilation_dir_EQ) || in ParseLangArgs()
4087 Args.getLastArg(OPT_fmacro_prefix_map_EQ) || in ParseLangArgs()
4088 Args.getLastArg(OPT_ffile_reproducible)); in ParseLangArgs()
4091 if (Arg *A = Args.getLastArg(options::OPT_mvscale_min_EQ)) { in ParseLangArgs()
4097 if (const Arg *A = Args.getLastArg(OPT_frandomize_layout_seed_file_EQ)) { in ParseLangArgs()
4107 if (const Arg *A = Args.getLastArg(OPT_frandomize_layout_seed_EQ)) in ParseLangArgs()
4160 SmallVectorImpl<const char *> &Args, in GeneratePreprocessorArgs() argument
4173 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GeneratePreprocessorArgs()
4179 GenerateArg(Args, OPT_pch_through_hdrstop_use, SA); in GeneratePreprocessorArgs()
4182 GenerateArg(Args, OPT_error_on_deserialized_pch_decl, D, SA); in GeneratePreprocessorArgs()
4185 GenerateArg(Args, OPT_preamble_bytes_EQ, in GeneratePreprocessorArgs()
4203 GenerateArg(Args, M.second ? OPT_U : OPT_D, M.first, SA); in GeneratePreprocessorArgs()
4218 GenerateArg(Args, OPT_include, I, SA); in GeneratePreprocessorArgs()
4222 GenerateArg(Args, OPT_chain_include, CI, SA); in GeneratePreprocessorArgs()
4225 GenerateArg(Args, OPT_remap_file, RF.first + ";" + RF.second, SA); in GeneratePreprocessorArgs()
4231 static bool ParsePreprocessorArgs(PreprocessorOptions &Opts, ArgList &Args, in ParsePreprocessorArgs() argument
4245 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParsePreprocessorArgs()
4250 Opts.PCHWithHdrStop = Args.hasArg(OPT_pch_through_hdrstop_create) || in ParsePreprocessorArgs()
4251 Args.hasArg(OPT_pch_through_hdrstop_use); in ParsePreprocessorArgs()
4253 for (const auto *A : Args.filtered(OPT_error_on_deserialized_pch_decl)) in ParsePreprocessorArgs()
4256 if (const Arg *A = Args.getLastArg(OPT_preamble_bytes_EQ)) { in ParsePreprocessorArgs()
4273 if (const Arg *A = Args.getLastArg(OPT_fcf_protection_EQ)) { in ParsePreprocessorArgs()
4284 for (const auto *A : Args.filtered(OPT_D, OPT_U)) { in ParsePreprocessorArgs()
4292 for (const auto *A : Args.filtered(OPT_include)) in ParsePreprocessorArgs()
4295 for (const auto *A : Args.filtered(OPT_chain_include)) in ParsePreprocessorArgs()
4298 for (const auto *A : Args.filtered(OPT_remap_file)) { in ParsePreprocessorArgs()
4302 Diags.Report(diag::err_drv_invalid_remap_file) << A->getAsString(Args); in ParsePreprocessorArgs()
4319 const PreprocessorOutputOptions &Opts, SmallVectorImpl<const char *> &Args, in GeneratePreprocessorOutputArgs() argument
4329 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GeneratePreprocessorOutputArgs()
4336 GenerateArg(Args, OPT_dM, SA); in GeneratePreprocessorOutputArgs()
4338 GenerateArg(Args, OPT_dD, SA); in GeneratePreprocessorOutputArgs()
4340 GenerateArg(Args, OPT_fdirectives_only, SA); in GeneratePreprocessorOutputArgs()
4344 ArgList &Args, DiagnosticsEngine &Diags, in ParsePreprocessorOutputArgs() argument
4356 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParsePreprocessorOutputArgs()
4361 Opts.ShowCPP = isStrictlyPreprocessorAction(Action) && !Args.hasArg(OPT_dM); in ParsePreprocessorOutputArgs()
4362 Opts.ShowMacros = Args.hasArg(OPT_dM) || Args.hasArg(OPT_dD); in ParsePreprocessorOutputArgs()
4363 Opts.DirectivesOnly = Args.hasArg(OPT_fdirectives_only); in ParsePreprocessorOutputArgs()
4369 SmallVectorImpl<const char *> &Args, in GenerateTargetArgs() argument
4378 Args, SA, KIND, FLAGS, SPELLING, ALWAYS_EMIT, KEYPATH, DEFAULT_VALUE, \ in GenerateTargetArgs()
4384 GenerateArg(Args, OPT_target_sdk_version_EQ, Opts.SDKVersion.getAsString(), in GenerateTargetArgs()
4387 GenerateArg(Args, OPT_darwin_target_variant_sdk_version_EQ, in GenerateTargetArgs()
4391 static bool ParseTargetArgs(TargetOptions &Opts, ArgList &Args, in ParseTargetArgs() argument
4403 Args, Diags, ID, FLAGS, PARAM, SHOULD_PARSE, KEYPATH, DEFAULT_VALUE, \ in ParseTargetArgs()
4408 if (Arg *A = Args.getLastArg(options::OPT_target_sdk_version_EQ)) { in ParseTargetArgs()
4412 << A->getAsString(Args) << A->getValue(); in ParseTargetArgs()
4417 Args.getLastArg(options::OPT_darwin_target_variant_sdk_version_EQ)) { in ParseTargetArgs()
4421 << A->getAsString(Args) << A->getValue(); in ParseTargetArgs()
4438 InputArgList Args = Opts.ParseArgs(CommandLineArgs, MissingArgIndex, in CreateFromArgsImpl() local
4445 << Args.getArgString(MissingArgIndex) << MissingArgCount; in CreateFromArgsImpl()
4448 for (const auto *A : Args.filtered(OPT_UNKNOWN)) { in CreateFromArgsImpl()
4449 auto ArgString = A->getAsString(Args); in CreateFromArgsImpl()
4458 ParseFileSystemArgs(Res.getFileSystemOpts(), Args, Diags); in CreateFromArgsImpl()
4459 ParseMigratorArgs(Res.getMigratorOpts(), Args, Diags); in CreateFromArgsImpl()
4460 ParseAnalyzerArgs(*Res.getAnalyzerOpts(), Args, Diags); in CreateFromArgsImpl()
4461 ParseDiagnosticArgs(Res.getDiagnosticOpts(), Args, &Diags, in CreateFromArgsImpl()
4463 ParseFrontendArgs(Res.getFrontendOpts(), Args, Diags, LangOpts.IsHeaderFile); in CreateFromArgsImpl()
4466 ParseTargetArgs(Res.getTargetOpts(), Args, Diags); in CreateFromArgsImpl()
4468 ParseHeaderSearchArgs(Res.getHeaderSearchOpts(), Args, Diags, in CreateFromArgsImpl()
4471 ParseLangArgs(LangOpts, Args, DashX, T, Res.getPreprocessorOpts().Includes, in CreateFromArgsImpl()
4494 ParseCodeGenArgs(Res.getCodeGenOpts(), Args, DashX, Diags, T, in CreateFromArgsImpl()
4506 ParsePreprocessorArgs(Res.getPreprocessorOpts(), Args, Diags, in CreateFromArgsImpl()
4509 ParsePreprocessorOutputArgs(Res.getPreprocessorOutputOpts(), Args, Diags, in CreateFromArgsImpl()
4512 ParseDependencyOutputArgs(Res.getDependencyOutputOpts(), Args, Diags, in CreateFromArgsImpl()
4530 FixupInvocation(Res, Diags, Args, DashX); in CreateFromArgsImpl()
4546 [](CompilerInvocation &Invocation, SmallVectorImpl<const char *> &Args, in CreateFromArgs()
4547 StringAllocator SA) { Invocation.generateCC1CommandLine(Args, SA); }, in CreateFromArgs() argument
4648 SmallVectorImpl<const char *> &Args, StringAllocator SA) const { in generateCC1CommandLine() argument
4651 GenerateFileSystemArgs(FileSystemOpts, Args, SA); in generateCC1CommandLine()
4652 GenerateMigratorArgs(MigratorOpts, Args, SA); in generateCC1CommandLine()
4653 GenerateAnalyzerArgs(*AnalyzerOpts, Args, SA); in generateCC1CommandLine()
4654 GenerateDiagnosticArgs(*DiagnosticOpts, Args, SA, false); in generateCC1CommandLine()
4655 GenerateFrontendArgs(FrontendOpts, Args, SA, LangOpts->IsHeaderFile); in generateCC1CommandLine()
4656 GenerateTargetArgs(*TargetOpts, Args, SA); in generateCC1CommandLine()
4657 GenerateHeaderSearchArgs(*HeaderSearchOpts, Args, SA); in generateCC1CommandLine()
4658 GenerateLangArgs(*LangOpts, Args, SA, T, FrontendOpts.DashX); in generateCC1CommandLine()
4659 GenerateCodeGenArgs(CodeGenOpts, Args, SA, T, FrontendOpts.OutputFile, in generateCC1CommandLine()
4661 GeneratePreprocessorArgs(*PreprocessorOpts, Args, SA, *LangOpts, FrontendOpts, in generateCC1CommandLine()
4663 GeneratePreprocessorOutputArgs(PreprocessorOutputOpts, Args, SA, in generateCC1CommandLine()
4665 GenerateDependencyOutputArgs(DependencyOutputOpts, Args, SA); in generateCC1CommandLine()