Lines Matching refs:options
44 if (Arg *A = Args.getLastArg(options::OPT_C, options::OPT_CC)) in CheckPreprocessingOptions()
45 if (!Args.hasArg(options::OPT_E) && !D.CCCIsCPP) in CheckPreprocessingOptions()
54 if (Args.hasArg(options::OPT_static)) in CheckCodeGenerationOptions()
55 if (const Arg *A = Args.getLastArg(options::OPT_dynamic, in CheckCodeGenerationOptions()
56 options::OPT_mdynamic_no_pic)) in CheckCodeGenerationOptions()
152 Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input); in AddLinkerInputs()
178 if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) { in AddLinkerInputs()
180 } else if (A.getOption().matches(options::OPT_Z_reserved_lib_cckext)) { in AddLinkerInputs()
193 return Args.hasFlag(options::OPT_fobjc_arc, options::OPT_fno_objc_arc, false); in isObjCAutoRefCount()
199 Args.ClaimAllArgs(options::OPT_fobjc_link_runtime); in isObjCRuntimeLinked()
202 return Args.hasArg(options::OPT_fobjc_link_runtime); in isObjCRuntimeLinked()
208 if (!(Args.hasArg(options::OPT_fprofile_arcs) || in addProfileRT()
209 Args.hasArg(options::OPT_fprofile_generate) || in addProfileRT()
210 Args.hasArg(options::OPT_fcreate_profile) || in addProfileRT()
211 Args.hasArg(options::OPT_coverage))) in addProfileRT()
225 return !O.hasFlag(options::NoForward) && in forwardToGCC()
226 !O.hasFlag(options::DriverOption) && in forwardToGCC()
227 !O.hasFlag(options::LinkerInput); in forwardToGCC()
241 Args.AddLastArg(CmdArgs, options::OPT_C); in AddPreprocessingOptions()
242 Args.AddLastArg(CmdArgs, options::OPT_CC); in AddPreprocessingOptions()
245 if ((A = Args.getLastArg(options::OPT_M, options::OPT_MM)) || in AddPreprocessingOptions()
246 (A = Args.getLastArg(options::OPT_MD)) || in AddPreprocessingOptions()
247 (A = Args.getLastArg(options::OPT_MMD))) { in AddPreprocessingOptions()
250 if (Arg *MF = Args.getLastArg(options::OPT_MF)) { in AddPreprocessingOptions()
255 } else if (A->getOption().matches(options::OPT_M) || in AddPreprocessingOptions()
256 A->getOption().matches(options::OPT_MM)) { in AddPreprocessingOptions()
266 if (!Args.hasArg(options::OPT_MT) && !Args.hasArg(options::OPT_MQ)) { in AddPreprocessingOptions()
271 Arg *OutputOpt = Args.getLastArg(options::OPT_o); in AddPreprocessingOptions()
289 if (A->getOption().matches(options::OPT_M) || in AddPreprocessingOptions()
290 A->getOption().matches(options::OPT_MD)) in AddPreprocessingOptions()
294 if (Args.hasArg(options::OPT_MG)) { in AddPreprocessingOptions()
295 if (!A || A->getOption().matches(options::OPT_MD) || in AddPreprocessingOptions()
296 A->getOption().matches(options::OPT_MMD)) in AddPreprocessingOptions()
301 Args.AddLastArg(CmdArgs, options::OPT_MP); in AddPreprocessingOptions()
304 for (arg_iterator it = Args.filtered_begin(options::OPT_MT, in AddPreprocessingOptions()
305 options::OPT_MQ), in AddPreprocessingOptions()
310 if (A->getOption().matches(options::OPT_MQ)) { in AddPreprocessingOptions()
328 for (arg_iterator it = Args.filtered_begin(options::OPT_clang_i_Group), in AddPreprocessingOptions()
332 if (A->getOption().matches(options::OPT_include)) { in AddPreprocessingOptions()
391 Args.AddAllArgs(CmdArgs, options::OPT_D, options::OPT_U); in AddPreprocessingOptions()
392 Args.AddAllArgs(CmdArgs, options::OPT_I_Group, options::OPT_F, in AddPreprocessingOptions()
393 options::OPT_index_header_map); in AddPreprocessingOptions()
401 Args.AddAllArgValues(CmdArgs, options::OPT_Wp_COMMA, in AddPreprocessingOptions()
402 options::OPT_Xpreprocessor); in AddPreprocessingOptions()
405 if (Arg *A = Args.getLastArg(options::OPT_I_)) in AddPreprocessingOptions()
412 if (!Args.hasArg(options::OPT_isysroot)) { in AddPreprocessingOptions()
478 if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) { in getARMTargetCPU()
488 if (Arg *A = Args.getLastArg(options::OPT_march_EQ)) { in getARMTargetCPU()
622 if (Arg *A = Args.getLastArg(options::OPT_msoft_float, in getARMFloatABI()
623 options::OPT_mhard_float, in getARMFloatABI()
624 options::OPT_mfloat_abi_EQ)) { in getARMFloatABI()
625 if (A->getOption().matches(options::OPT_msoft_float)) in getARMFloatABI()
627 else if (A->getOption().matches(options::OPT_mhard_float)) in getARMFloatABI()
710 if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) { in AddARMTargetArgs()
781 if (const Arg *A = Args.getLastArg(options::OPT_mfpu_EQ)) in AddARMTargetArgs()
785 if (const Arg *A = Args.getLastArg(options::OPT_mfpmath_EQ)) in AddARMTargetArgs()
812 if (Arg *A = Args.getLastArg(options::OPT_mglobal_merge, in AddARMTargetArgs()
813 options::OPT_mno_global_merge)) { in AddARMTargetArgs()
814 if (A->getOption().matches(options::OPT_mno_global_merge)) in AddARMTargetArgs()
818 if (Args.hasArg(options::OPT_mno_implicit_float)) in AddARMTargetArgs()
824 if (A.getOption().matches(options::OPT_mips32)) in getMipsCPUFromAlias()
826 if (A.getOption().matches(options::OPT_mips32r2)) in getMipsCPUFromAlias()
828 if (A.getOption().matches(options::OPT_mips64)) in getMipsCPUFromAlias()
830 if (A.getOption().matches(options::OPT_mips64r2)) in getMipsCPUFromAlias()
845 if (Arg *A = Args.getLastArg(options::OPT_march_EQ, in getMipsCPUAndABI()
846 options::OPT_mcpu_EQ, in getMipsCPUAndABI()
847 options::OPT_mips_CPUs_Group)) { in getMipsCPUAndABI()
848 if (A->getOption().matches(options::OPT_mips_CPUs_Group)) in getMipsCPUAndABI()
854 if (Arg *A = Args.getLastArg(options::OPT_mabi_EQ)) in getMipsCPUAndABI()
905 if (Arg *A = Args.getLastArg(options::OPT_msoft_float, in getMipsFloatABI()
906 options::OPT_mhard_float, in getMipsFloatABI()
907 options::OPT_mfloat_abi_EQ)) { in getMipsFloatABI()
908 if (A->getOption().matches(options::OPT_msoft_float)) in getMipsFloatABI()
910 else if (A->getOption().matches(options::OPT_mhard_float)) in getMipsFloatABI()
961 bool IsMips16 = Args.getLastArg(options::OPT_mips16) != NULL; in AddMIPSTargetArgs()
994 options::OPT_mips16, options::OPT_mno_mips16, in AddMIPSTargetArgs()
997 options::OPT_mdsp, options::OPT_mno_dsp, in AddMIPSTargetArgs()
1000 options::OPT_mdspr2, options::OPT_mno_dspr2, in AddMIPSTargetArgs()
1003 if (Arg *A = Args.getLastArg(options::OPT_mxgot, options::OPT_mno_xgot)) { in AddMIPSTargetArgs()
1004 if (A->getOption().matches(options::OPT_mxgot)) { in AddMIPSTargetArgs()
1010 if (Arg *A = Args.getLastArg(options::OPT_G)) { in AddMIPSTargetArgs()
1020 if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) { in getPPCTargetCPU()
1100 if (Args.hasFlag(options::OPT_fno_altivec, options::OPT_faltivec, false)) { in AddPPCTargetArgs()
1105 if (Args.hasFlag(options::OPT_mno_qpx, options::OPT_mqpx, false)) { in AddPPCTargetArgs()
1115 if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { in AddSparcTargetArgs()
1122 if (Arg *A = Args.getLastArg(options::OPT_msoft_float, in AddSparcTargetArgs()
1123 options::OPT_mhard_float)) { in AddSparcTargetArgs()
1124 if (A->getOption().matches(options::OPT_msoft_float)) in AddSparcTargetArgs()
1126 else if (A->getOption().matches(options::OPT_mhard_float)) in AddSparcTargetArgs()
1156 if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { in getX86TargetCPU()
1207 if (!Args.hasFlag(options::OPT_mred_zone, in AddX86TargetArgs()
1208 options::OPT_mno_red_zone, in AddX86TargetArgs()
1210 Args.hasArg(options::OPT_mkernel) || in AddX86TargetArgs()
1211 Args.hasArg(options::OPT_fapple_kext)) in AddX86TargetArgs()
1216 bool NoImplicitFloat = (Args.hasArg(options::OPT_mkernel) || in AddX86TargetArgs()
1217 Args.hasArg(options::OPT_fapple_kext)); in AddX86TargetArgs()
1218 if (Arg *A = Args.getLastArg(options::OPT_msoft_float, in AddX86TargetArgs()
1219 options::OPT_mno_soft_float, in AddX86TargetArgs()
1220 options::OPT_mno_implicit_float)) { in AddX86TargetArgs()
1222 NoImplicitFloat = (O.matches(options::OPT_mno_implicit_float) || in AddX86TargetArgs()
1223 O.matches(options::OPT_msoft_float)); in AddX86TargetArgs()
1241 for (arg_iterator it = Args.filtered_begin(options::OPT_m_x86_Features_Group), in AddX86TargetArgs()
1269 return Args.hasArg(options::OPT_fPIC) in HasPICArg()
1270 || Args.hasArg(options::OPT_fpic); in HasPICArg()
1274 return Args.getLastArg(options::OPT_G, in GetLastSmallDataThresholdArg()
1275 options::OPT_G_EQ, in GetLastSmallDataThresholdArg()
1276 options::OPT_msmall_data_threshold_EQ); in GetLastSmallDataThresholdArg()
1309 if (!Args.hasArg(options::OPT_fno_short_enums)) in AddHexagonTargetArgs()
1311 if (Args.getLastArg(options::OPT_mieee_rnd_near)) { in AddHexagonTargetArgs()
1349 Args.ClaimAllArgs(options::OPT_fexceptions); in addExceptionArgs()
1350 Args.ClaimAllArgs(options::OPT_fno_exceptions); in addExceptionArgs()
1351 Args.ClaimAllArgs(options::OPT_fobjc_exceptions); in addExceptionArgs()
1352 Args.ClaimAllArgs(options::OPT_fno_objc_exceptions); in addExceptionArgs()
1353 Args.ClaimAllArgs(options::OPT_fcxx_exceptions); in addExceptionArgs()
1354 Args.ClaimAllArgs(options::OPT_fno_cxx_exceptions); in addExceptionArgs()
1364 if (Arg *A = Args.getLastArg(options::OPT_fexceptions, in addExceptionArgs()
1365 options::OPT_fno_exceptions)) { in addExceptionArgs()
1366 if (A->getOption().matches(options::OPT_fexceptions)) in addExceptionArgs()
1384 Args.hasFlag(options::OPT_fobjc_exceptions, in addExceptionArgs()
1385 options::OPT_fno_objc_exceptions, in addExceptionArgs()
1396 if (Arg *A = Args.getLastArg(options::OPT_fcxx_exceptions, in addExceptionArgs()
1397 options::OPT_fno_cxx_exceptions, in addExceptionArgs()
1398 options::OPT_fexceptions, in addExceptionArgs()
1399 options::OPT_fno_exceptions)) { in addExceptionArgs()
1400 if (A->getOption().matches(options::OPT_fcxx_exceptions)) in addExceptionArgs()
1402 else if (A->getOption().matches(options::OPT_fno_cxx_exceptions)) in addExceptionArgs()
1425 return !Args.hasFlag(options::OPT_fdwarf2_cfi_asm, in ShouldDisableCFI()
1426 options::OPT_fno_dwarf2_cfi_asm, in ShouldDisableCFI()
1432 bool UseDwarfDirectory = Args.hasFlag(options::OPT_fdwarf_directory_asm, in ShouldDisableDwarfDirectory()
1433 options::OPT_fno_dwarf_directory_asm, in ShouldDisableDwarfDirectory()
1455 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) in UseRelaxAll()
1456 RelaxDefault = A->getOption().matches(options::OPT_O0); in UseRelaxAll()
1469 return Args.hasFlag(options::OPT_mrelax_all, options::OPT_mno_relax_all, in UseRelaxAll()
1497 Args.hasArg(options::OPT_fcatch_undefined_behavior) || in SanitizerArgs()
1498 Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, in SanitizerArgs()
1499 options::OPT_fno_sanitize_undefined_trap_on_error, false); in SanitizerArgs()
1501 if (Args.hasArg(options::OPT_fcatch_undefined_behavior) && in SanitizerArgs()
1502 !Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, in SanitizerArgs()
1503 options::OPT_fno_sanitize_undefined_trap_on_error, true)) { in SanitizerArgs()
1511 if (Args.hasArg(options::OPT_fcatch_undefined_behavior)) in SanitizerArgs()
1515 else if (Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, in SanitizerArgs()
1516 options::OPT_fno_sanitize_undefined_trap_on_error, in SanitizerArgs()
1549 if (Arg *BLArg = Args.getLastArg(options::OPT_fsanitize_blacklist, in SanitizerArgs()
1550 options::OPT_fno_sanitize_blacklist)) { in SanitizerArgs()
1551 if (BLArg->getOption().matches(options::OPT_fsanitize_blacklist)) { in SanitizerArgs()
1572 Args.hasFlag(options::OPT_fsanitize_memory_track_origins, in SanitizerArgs()
1573 options::OPT_fno_sanitize_memory_track_origins, in SanitizerArgs()
1579 Args.hasFlag(options::OPT_fsanitize_address_zero_base_shadow, in SanitizerArgs()
1580 options::OPT_fno_sanitize_address_zero_base_shadow, in SanitizerArgs()
1618 if (!Args.hasArg(options::OPT_shared)) { in addAsanRTLinux()
1619 if (!Args.hasArg(options::OPT_pie)) in addAsanRTLinux()
1629 if (!Args.hasArg(options::OPT_shared)) { in addAsanRTLinux()
1631 options::OPT_fsanitize_address_zero_base_shadow, in addAsanRTLinux()
1632 options::OPT_fno_sanitize_address_zero_base_shadow, false); in addAsanRTLinux()
1633 if (ZeroBaseShadow && !Args.hasArg(options::OPT_pie)) { in addAsanRTLinux()
1646 if (!Args.hasArg(options::OPT_shared)) { in addTsanRTLinux()
1647 if (!Args.hasArg(options::OPT_pie)) in addTsanRTLinux()
1658 if (!Args.hasArg(options::OPT_shared)) { in addMsanRTLinux()
1659 if (!Args.hasArg(options::OPT_pie)) in addMsanRTLinux()
1675 if (Arg *A = Args.getLastArg(options::OPT_fno_omit_frame_pointer, in shouldUseFramePointer()
1676 options::OPT_fomit_frame_pointer)) in shouldUseFramePointer()
1677 return A->getOption().matches(options::OPT_fno_omit_frame_pointer); in shouldUseFramePointer()
1683 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) in shouldUseFramePointer()
1684 if (!A->getOption().matches(options::OPT_O0)) in shouldUseFramePointer()
1707 Arg *FinalOutput = Args.getLastArg(options::OPT_o); in SplitDebugName()
1708 if (FinalOutput && Args.hasArg(options::OPT_c)) { in SplitDebugName()
1714 SmallString<128> T(Args.getLastArgValue(options::OPT_fdebug_compilation_dir)); in SplitDebugName()
1752 bool KernelOrKext = Args.hasArg(options::OPT_mkernel, in ConstructJob()
1753 options::OPT_fapple_kext); in ConstructJob()
1782 if (Args.hasArg(options::OPT_rewrite_objc) && in ConstructJob()
1783 !Args.hasArg(options::OPT_g_Group)) in ConstructJob()
1794 for (arg_iterator it = Args.filtered_begin(options::OPT_Wa_COMMA, in ConstructJob()
1795 options::OPT_Xassembler), in ConstructJob()
1820 (void) Args.hasArg(options::OPT_force__cpusubtype__ALL); in ConstructJob()
1873 if (Args.hasArg(options::OPT_static)) in ConstructJob()
1886 if (!Args.hasArg(options::OPT__analyzer_no_default_checks)) { in ConstructJob()
1909 if (Arg *A = Args.getLastArg(options::OPT__analyzer_output)) in ConstructJob()
1920 Args.AddAllArgValues(CmdArgs, options::OPT_Xanalyzer); in ConstructJob()
1935 if (Arg *A = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC, in ConstructJob()
1936 options::OPT_fpic, options::OPT_fno_pic, in ConstructJob()
1937 options::OPT_fPIE, options::OPT_fno_PIE, in ConstructJob()
1938 options::OPT_fpie, options::OPT_fno_pie)) { in ConstructJob()
1940 if (O.matches(options::OPT_fPIC) || O.matches(options::OPT_fpic) || in ConstructJob()
1941 O.matches(options::OPT_fPIE) || O.matches(options::OPT_fpie)) { in ConstructJob()
1942 PIE = O.matches(options::OPT_fPIE) || O.matches(options::OPT_fpie); in ConstructJob()
1943 PIC = PIE || O.matches(options::OPT_fPIC) || O.matches(options::OPT_fpic); in ConstructJob()
1944 IsPICLevelTwo = O.matches(options::OPT_fPIE) || in ConstructJob()
1945 O.matches(options::OPT_fPIC); in ConstructJob()
1972 if (Args.hasArg(options::OPT_static)) in ConstructJob()
1975 if (Arg *A = Args.getLastArg(options::OPT_mdynamic_no_pic)) { in ConstructJob()
2010 if (!Args.hasFlag(options::OPT_fmerge_all_constants, in ConstructJob()
2011 options::OPT_fno_merge_all_constants)) in ConstructJob()
2016 if (Arg *A = Args.getLastArg(options::OPT_mregparm_EQ)) { in ConstructJob()
2021 if (Args.hasFlag(options::OPT_mrtd, options::OPT_mno_rtd, false)) in ConstructJob()
2026 if (!Args.hasFlag(options::OPT_fzero_initialized_in_bss, in ConstructJob()
2027 options::OPT_fno_zero_initialized_in_bss)) in ConstructJob()
2029 if (!Args.hasFlag(options::OPT_fstrict_aliasing, in ConstructJob()
2030 options::OPT_fno_strict_aliasing, in ConstructJob()
2033 if (Args.hasFlag(options::OPT_fstrict_enums, options::OPT_fno_strict_enums, in ConstructJob()
2036 if (!Args.hasFlag(options::OPT_foptimize_sibling_calls, in ConstructJob()
2037 options::OPT_fno_optimize_sibling_calls)) in ConstructJob()
2045 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2046 options::OPT_fno_fast_math, in ConstructJob()
2047 options::OPT_ffinite_math_only, in ConstructJob()
2048 options::OPT_fno_finite_math_only, in ConstructJob()
2049 options::OPT_fhonor_infinities, in ConstructJob()
2050 options::OPT_fno_honor_infinities)) in ConstructJob()
2051 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2052 A->getOption().getID() != options::OPT_fno_finite_math_only && in ConstructJob()
2053 A->getOption().getID() != options::OPT_fhonor_infinities) in ConstructJob()
2055 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2056 options::OPT_fno_fast_math, in ConstructJob()
2057 options::OPT_ffinite_math_only, in ConstructJob()
2058 options::OPT_fno_finite_math_only, in ConstructJob()
2059 options::OPT_fhonor_nans, in ConstructJob()
2060 options::OPT_fno_honor_nans)) in ConstructJob()
2061 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2062 A->getOption().getID() != options::OPT_fno_finite_math_only && in ConstructJob()
2063 A->getOption().getID() != options::OPT_fhonor_nans) in ConstructJob()
2068 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2069 options::OPT_fno_fast_math, in ConstructJob()
2070 options::OPT_fmath_errno, in ConstructJob()
2071 options::OPT_fno_math_errno)) in ConstructJob()
2072 MathErrno = A->getOption().getID() == options::OPT_fmath_errno; in ConstructJob()
2081 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2082 options::OPT_fno_fast_math, in ConstructJob()
2083 options::OPT_funsafe_math_optimizations, in ConstructJob()
2084 options::OPT_fno_unsafe_math_optimizations, in ConstructJob()
2085 options::OPT_fassociative_math, in ConstructJob()
2086 options::OPT_fno_associative_math)) in ConstructJob()
2087 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2088 A->getOption().getID() != options::OPT_fno_unsafe_math_optimizations && in ConstructJob()
2089 A->getOption().getID() != options::OPT_fno_associative_math) in ConstructJob()
2092 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2093 options::OPT_fno_fast_math, in ConstructJob()
2094 options::OPT_funsafe_math_optimizations, in ConstructJob()
2095 options::OPT_fno_unsafe_math_optimizations, in ConstructJob()
2096 options::OPT_freciprocal_math, in ConstructJob()
2097 options::OPT_fno_reciprocal_math)) in ConstructJob()
2098 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2099 A->getOption().getID() != options::OPT_fno_unsafe_math_optimizations && in ConstructJob()
2100 A->getOption().getID() != options::OPT_fno_reciprocal_math) in ConstructJob()
2103 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2104 options::OPT_fno_fast_math, in ConstructJob()
2105 options::OPT_funsafe_math_optimizations, in ConstructJob()
2106 options::OPT_fno_unsafe_math_optimizations, in ConstructJob()
2107 options::OPT_fsigned_zeros, in ConstructJob()
2108 options::OPT_fno_signed_zeros)) in ConstructJob()
2109 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2110 A->getOption().getID() != options::OPT_fno_unsafe_math_optimizations && in ConstructJob()
2111 A->getOption().getID() != options::OPT_fsigned_zeros) in ConstructJob()
2114 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2115 options::OPT_fno_fast_math, in ConstructJob()
2116 options::OPT_funsafe_math_optimizations, in ConstructJob()
2117 options::OPT_fno_unsafe_math_optimizations, in ConstructJob()
2118 options::OPT_ftrapping_math, in ConstructJob()
2119 options::OPT_fno_trapping_math)) in ConstructJob()
2120 if (A->getOption().getID() != options::OPT_fno_fast_math && in ConstructJob()
2121 A->getOption().getID() != options::OPT_fno_unsafe_math_optimizations && in ConstructJob()
2122 A->getOption().getID() != options::OPT_ftrapping_math) in ConstructJob()
2130 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, in ConstructJob()
2131 options::OPT_fno_fast_math, in ConstructJob()
2132 options::OPT_ffp_contract)) { in ConstructJob()
2133 if (A->getOption().getID() == options::OPT_ffp_contract) { in ConstructJob()
2141 } else if (A->getOption().getID() == options::OPT_ffast_math) { in ConstructJob()
2152 if (Arg *A = Args.getLastArg(options::OPT_ffast_math, options::OPT_fno_fast_math)) in ConstructJob()
2153 if (A->getOption().matches(options::OPT_ffast_math)) in ConstructJob()
2155 if (Arg *A = Args.getLastArg(options::OPT_ffinite_math_only, options::OPT_fno_fast_math)) in ConstructJob()
2156 if (A->getOption().matches(options::OPT_ffinite_math_only)) in ConstructJob()
2162 if (Args.hasFlag(options::OPT_fverbose_asm, options::OPT_fno_verbose_asm, in ConstructJob()
2164 Args.hasArg(options::OPT_dA)) in ConstructJob()
2167 if (Args.hasArg(options::OPT_fdebug_pass_structure)) { in ConstructJob()
2171 if (Args.hasArg(options::OPT_fdebug_pass_arguments)) { in ConstructJob()
2186 if (Args.hasArg(options::OPT_mms_bitfields)) { in ConstructJob()
2194 Args.hasFlag(options::OPT_fasynchronous_unwind_tables, in ConstructJob()
2195 options::OPT_fno_asynchronous_unwind_tables, in ConstructJob()
2198 if (Args.hasFlag(options::OPT_funwind_tables, options::OPT_fno_unwind_tables, in ConstructJob()
2204 if (Arg *A = Args.getLastArg(options::OPT_flimited_precision_EQ)) { in ConstructJob()
2210 (void) Args.hasArg(options::OPT_mtune_EQ); in ConstructJob()
2212 if (Arg *A = Args.getLastArg(options::OPT_mcmodel_EQ)) { in ConstructJob()
2256 if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) { in ConstructJob()
2262 if (Args.hasFlag(options::OPT_momit_leaf_frame_pointer, in ConstructJob()
2263 options::OPT_mno_omit_leaf_frame_pointer, in ConstructJob()
2270 if (!Args.hasArg(options::OPT_fallow_unsupported)) { in ConstructJob()
2275 if ((Unsupported = Args.getLastArg(options::OPT_fapple_kext)) || in ConstructJob()
2276 (Unsupported = Args.getLastArg(options::OPT_mkernel))) in ConstructJob()
2282 Args.AddAllArgs(CmdArgs, options::OPT_v); in ConstructJob()
2283 Args.AddLastArg(CmdArgs, options::OPT_H); in ConstructJob()
2289 Args.AddLastArg(CmdArgs, options::OPT_P); in ConstructJob()
2290 Args.AddLastArg(CmdArgs, options::OPT_print_ivar_layout); in ConstructJob()
2300 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
2301 if (Arg *A = Args.getLastArg(options::OPT_g_Group)) { in ConstructJob()
2302 if (A->getOption().matches(options::OPT_gline_tables_only)) in ConstructJob()
2304 else if (!A->getOption().matches(options::OPT_g0) && in ConstructJob()
2305 !A->getOption().matches(options::OPT_ggdb0)) in ConstructJob()
2310 Args.ClaimAllArgs(options::OPT_g_flags_Group); in ConstructJob()
2311 if (Args.hasArg(options::OPT_gcolumn_info)) in ConstructJob()
2318 Args.hasArg(options::OPT_gsplit_dwarf)) { in ConstructJob()
2324 Args.AddAllArgs(CmdArgs, options::OPT_ffunction_sections); in ConstructJob()
2325 Args.AddAllArgs(CmdArgs, options::OPT_fdata_sections); in ConstructJob()
2327 Args.AddAllArgs(CmdArgs, options::OPT_finstrument_functions); in ConstructJob()
2329 if (Args.hasArg(options::OPT_ftest_coverage) || in ConstructJob()
2330 Args.hasArg(options::OPT_coverage)) in ConstructJob()
2332 if (Args.hasArg(options::OPT_fprofile_arcs) || in ConstructJob()
2333 Args.hasArg(options::OPT_coverage)) in ConstructJob()
2336 if (C.getArgs().hasArg(options::OPT_c) || in ConstructJob()
2337 C.getArgs().hasArg(options::OPT_S)) { in ConstructJob()
2355 if (Args.hasArg(options::OPT_nostdinc)) { in ConstructJob()
2359 if (Args.hasArg(options::OPT_nostdlibinc)) in ConstructJob()
2361 Args.AddLastArg(CmdArgs, options::OPT_nostdincxx); in ConstructJob()
2362 Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc); in ConstructJob()
2369 Args.AddLastArg(CmdArgs, options::OPT_working_directory); in ConstructJob()
2372 if (!Args.hasArg(options::OPT_fno_objc_arc)) { in ConstructJob()
2373 if (const Arg *A = Args.getLastArg(options::OPT_ccc_arcmt_check, in ConstructJob()
2374 options::OPT_ccc_arcmt_modify, in ConstructJob()
2375 options::OPT_ccc_arcmt_migrate)) { in ConstructJob()
2380 case options::OPT_ccc_arcmt_check: in ConstructJob()
2383 case options::OPT_ccc_arcmt_modify: in ConstructJob()
2386 case options::OPT_ccc_arcmt_migrate: in ConstructJob()
2391 Args.AddLastArg(CmdArgs, options::OPT_arcmt_migrate_report_output); in ConstructJob()
2392 Args.AddLastArg(CmdArgs, options::OPT_arcmt_migrate_emit_arc_errors); in ConstructJob()
2398 if (const Arg *A = Args.getLastArg(options::OPT_ccc_objcmt_migrate)) { in ConstructJob()
2406 if (!Args.hasArg(options::OPT_objcmt_migrate_literals, in ConstructJob()
2407 options::OPT_objcmt_migrate_subscripting)) { in ConstructJob()
2412 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_literals); in ConstructJob()
2413 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_subscripting); in ConstructJob()
2428 Args.ClaimAllArgs(options::OPT_D); in ConstructJob()
2432 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { in ConstructJob()
2433 if (A->getOption().matches(options::OPT_O4)) in ConstructJob()
2435 else if (A->getOption().matches(options::OPT_O) && in ConstructJob()
2444 Args.ClaimAllArgs(options::OPT_flto); in ConstructJob()
2446 Args.AddAllArgs(CmdArgs, options::OPT_W_Group); in ConstructJob()
2447 if (Args.hasFlag(options::OPT_pedantic, options::OPT_no_pedantic, false)) in ConstructJob()
2449 Args.AddLastArg(CmdArgs, options::OPT_pedantic_errors); in ConstructJob()
2450 Args.AddLastArg(CmdArgs, options::OPT_w); in ConstructJob()
2457 if (Arg *Std = Args.getLastArg(options::OPT_std_EQ, options::OPT_ansi)) { in ConstructJob()
2458 if (Std->getOption().matches(options::OPT_ansi)) in ConstructJob()
2466 if (Arg *A = Args.getLastArg(options::OPT_std_EQ, options::OPT_ansi, in ConstructJob()
2467 options::OPT_trigraphs)) in ConstructJob()
2478 Args.AddAllArgsTranslated(CmdArgs, options::OPT_std_default_EQ, in ConstructJob()
2483 Args.AddLastArg(CmdArgs, options::OPT_trigraphs); in ConstructJob()
2488 if (Args.hasFlag(options::OPT_Wwrite_strings, options::OPT_Wno_write_strings, in ConstructJob()
2499 Args.hasFlag(options::OPT_Wdeprecated, options::OPT_Wno_deprecated, in ConstructJob()
2505 if (Arg *Asm = Args.getLastArg(options::OPT_fasm, options::OPT_fno_asm)) { in ConstructJob()
2506 if (Asm->getOption().matches(options::OPT_fasm)) in ConstructJob()
2521 if (Arg *A = Args.getLastArg(options::OPT_ftemplate_depth_, in ConstructJob()
2522 options::OPT_ftemplate_depth_EQ)) { in ConstructJob()
2527 if (Arg *A = Args.getLastArg(options::OPT_fconstexpr_depth_EQ)) { in ConstructJob()
2532 if (Arg *A = Args.getLastArg(options::OPT_fbracket_depth_EQ)) { in ConstructJob()
2537 if (Arg *A = Args.getLastArg(options::OPT_Wlarge_by_value_copy_EQ, in ConstructJob()
2538 options::OPT_Wlarge_by_value_copy_def)) { in ConstructJob()
2547 if (Args.hasArg(options::OPT_relocatable_pch)) in ConstructJob()
2550 if (Arg *A = Args.getLastArg(options::OPT_fconstant_string_class_EQ)) { in ConstructJob()
2555 if (Arg *A = Args.getLastArg(options::OPT_ftabstop_EQ)) { in ConstructJob()
2561 if (Arg *A = Args.getLastArg(options::OPT_ferror_limit_EQ)) in ConstructJob()
2566 if (Arg *A = Args.getLastArg(options::OPT_fmacro_backtrace_limit_EQ)) { in ConstructJob()
2571 if (Arg *A = Args.getLastArg(options::OPT_ftemplate_backtrace_limit_EQ)) { in ConstructJob()
2576 if (Arg *A = Args.getLastArg(options::OPT_fconstexpr_backtrace_limit_EQ)) { in ConstructJob()
2583 if (Arg *A = Args.getLastArg(options::OPT_fmessage_length_EQ)) { in ConstructJob()
2593 if (const Arg *A = Args.getLastArg(options::OPT_fvisibility_EQ, in ConstructJob()
2594 options::OPT_fvisibility_ms_compat)) { in ConstructJob()
2595 if (A->getOption().matches(options::OPT_fvisibility_EQ)) { in ConstructJob()
2599 assert(A->getOption().matches(options::OPT_fvisibility_ms_compat)); in ConstructJob()
2607 Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden); in ConstructJob()
2609 Args.AddLastArg(CmdArgs, options::OPT_ftlsmodel_EQ); in ConstructJob()
2612 if (Args.hasFlag(options::OPT_ffreestanding, options::OPT_fhosted, false) || in ConstructJob()
2617 Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls); in ConstructJob()
2618 Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions); in ConstructJob()
2619 Args.AddLastArg(CmdArgs, options::OPT_flimit_debug_info); in ConstructJob()
2620 Args.AddLastArg(CmdArgs, options::OPT_fno_limit_debug_info); in ConstructJob()
2621 Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names); in ConstructJob()
2622 Args.AddLastArg(CmdArgs, options::OPT_faltivec); in ConstructJob()
2623 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_show_template_tree); in ConstructJob()
2624 Args.AddLastArg(CmdArgs, options::OPT_fno_elide_type); in ConstructJob()
2629 if (!Args.hasFlag(options::OPT_fsanitize_recover, in ConstructJob()
2630 options::OPT_fno_sanitize_recover, in ConstructJob()
2634 if (Args.hasArg(options::OPT_fcatch_undefined_behavior) || in ConstructJob()
2635 Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, in ConstructJob()
2636 options::OPT_fno_sanitize_undefined_trap_on_error, false)) in ConstructJob()
2640 if (const Arg *A = Args.getLastArg(options::OPT_faltivec)) in ConstructJob()
2647 Args.AddLastArg(CmdArgs, options::OPT_pg); in ConstructJob()
2650 if (!Args.hasFlag(options::OPT_flax_vector_conversions, in ConstructJob()
2651 options::OPT_fno_lax_vector_conversions)) in ConstructJob()
2654 if (Args.getLastArg(options::OPT_fapple_kext)) in ConstructJob()
2657 if (Args.hasFlag(options::OPT_frewrite_includes, in ConstructJob()
2658 options::OPT_fno_rewrite_includes, false)) in ConstructJob()
2661 Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch); in ConstructJob()
2662 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info); in ConstructJob()
2663 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits); in ConstructJob()
2664 Args.AddLastArg(CmdArgs, options::OPT_ftime_report); in ConstructJob()
2665 Args.AddLastArg(CmdArgs, options::OPT_ftrapv); in ConstructJob()
2667 if (Arg *A = Args.getLastArg(options::OPT_ftrapv_handler_EQ)) { in ConstructJob()
2672 Args.AddLastArg(CmdArgs, options::OPT_ftrap_function_EQ); in ConstructJob()
2676 if (Arg *A = Args.getLastArg(options::OPT_fwrapv, in ConstructJob()
2677 options::OPT_fno_wrapv)) { in ConstructJob()
2678 if (A->getOption().matches(options::OPT_fwrapv)) in ConstructJob()
2680 } else if (Arg *A = Args.getLastArg(options::OPT_fstrict_overflow, in ConstructJob()
2681 options::OPT_fno_strict_overflow)) { in ConstructJob()
2682 if (A->getOption().matches(options::OPT_fno_strict_overflow)) in ConstructJob()
2685 Args.AddLastArg(CmdArgs, options::OPT_fwritable_strings); in ConstructJob()
2686 Args.AddLastArg(CmdArgs, options::OPT_funroll_loops); in ConstructJob()
2688 Args.AddLastArg(CmdArgs, options::OPT_pthread); in ConstructJob()
2693 if (Arg *A = Args.getLastArg(options::OPT_fno_stack_protector, in ConstructJob()
2694 options::OPT_fstack_protector_all, in ConstructJob()
2695 options::OPT_fstack_protector)) { in ConstructJob()
2696 if (A->getOption().matches(options::OPT_fstack_protector)) in ConstructJob()
2698 else if (A->getOption().matches(options::OPT_fstack_protector_all)) in ConstructJob()
2710 for (arg_iterator it = Args.filtered_begin(options::OPT__param), in ConstructJob()
2724 if (Args.hasFlag(options::OPT_mstackrealign, options::OPT_mno_stackrealign, in ConstructJob()
2729 if (!Args.hasFlag(options::OPT_mno_stackrealign, options::OPT_mstackrealign, in ConstructJob()
2734 if (Args.hasArg(options::OPT_mstack_alignment)) { in ConstructJob()
2735 StringRef alignment = Args.getLastArgValue(options::OPT_mstack_alignment); in ConstructJob()
2739 if (Args.hasArg(options::OPT_mstrict_align) && !KernelOrKext) { in ConstructJob()
2747 if (Args.hasArg(options::OPT_mkernel)) { in ConstructJob()
2748 if (!Args.hasArg(options::OPT_fapple_kext) && types::isCXX(InputType)) in ConstructJob()
2750 if (!Args.hasArg(options::OPT_fbuiltin)) in ConstructJob()
2752 Args.ClaimAllArgs(options::OPT_fno_builtin); in ConstructJob()
2755 else if (!Args.hasFlag(options::OPT_fbuiltin, options::OPT_fno_builtin)) in ConstructJob()
2758 if (!Args.hasFlag(options::OPT_fassume_sane_operator_new, in ConstructJob()
2759 options::OPT_fno_assume_sane_operator_new)) in ConstructJob()
2763 if (Args.hasFlag(options::OPT_fblocks, options::OPT_fno_blocks, in ConstructJob()
2765 (Args.hasArg(options::OPT_fgnu_runtime) && in ConstructJob()
2766 Args.hasArg(options::OPT_fobjc_nonfragile_abi) && in ConstructJob()
2767 !Args.hasArg(options::OPT_fno_blocks))) { in ConstructJob()
2770 if (!Args.hasArg(options::OPT_fgnu_runtime) && in ConstructJob()
2779 if (Args.hasFlag(options::OPT_fmodules, options::OPT_fno_modules, false)) { in ConstructJob()
2780 bool AllowedInCXX = Args.hasFlag(options::OPT_fcxx_modules, in ConstructJob()
2781 options::OPT_fno_cxx_modules, in ConstructJob()
2791 if (Arg *A = Args.getLastArg(options::OPT_fmodules_cache_path)) { in ConstructJob()
2808 Args.AddAllArgs(CmdArgs, options::OPT_fmodules_ignore_macro); in ConstructJob()
2814 Args.hasFlag(options::OPT_fmodules_autolink, in ConstructJob()
2815 options::OPT_fno_modules_autolink, in ConstructJob()
2821 if (Args.hasFlag(options::OPT_fno_access_control, in ConstructJob()
2822 options::OPT_faccess_control, in ConstructJob()
2827 if (Args.hasFlag(options::OPT_fno_elide_constructors, in ConstructJob()
2828 options::OPT_felide_constructors, in ConstructJob()
2833 if (!Args.hasFlag(options::OPT_frtti, options::OPT_fno_rtti) || in ConstructJob()
2840 Args.getLastArg(options::OPT_mkernel, in ConstructJob()
2841 options::OPT_fapple_kext, in ConstructJob()
2842 options::OPT_fno_rtti)->getAsString(Args); in ConstructJob()
2849 if (Args.hasFlag(options::OPT_fshort_enums, in ConstructJob()
2850 options::OPT_fno_short_enums, in ConstructJob()
2856 if (!Args.hasFlag(options::OPT_fsigned_char, options::OPT_funsigned_char, in ConstructJob()
2861 if (!Args.hasFlag(options::OPT_fthreadsafe_statics, in ConstructJob()
2862 options::OPT_fno_threadsafe_statics)) in ConstructJob()
2866 if (!Args.hasFlag(options::OPT_fuse_cxa_atexit, in ConstructJob()
2867 options::OPT_fno_use_cxa_atexit, in ConstructJob()
2875 if (Args.hasFlag(options::OPT_fms_extensions, options::OPT_fno_ms_extensions, in ConstructJob()
2880 if (Args.hasFlag(options::OPT_fms_compatibility, in ConstructJob()
2881 options::OPT_fno_ms_compatibility, in ConstructJob()
2883 Args.hasFlag(options::OPT_fms_extensions, in ConstructJob()
2884 options::OPT_fno_ms_extensions, in ConstructJob()
2889 if (Args.hasFlag(options::OPT_fms_extensions, options::OPT_fno_ms_extensions, in ConstructJob()
2891 Args.hasArg(options::OPT_fmsc_version)) { in ConstructJob()
2892 StringRef msc_ver = Args.getLastArgValue(options::OPT_fmsc_version); in ConstructJob()
2901 if (Args.hasFlag(options::OPT_fborland_extensions, in ConstructJob()
2902 options::OPT_fno_borland_extensions, false)) in ConstructJob()
2907 if (Args.hasFlag(options::OPT_fdelayed_template_parsing, in ConstructJob()
2908 options::OPT_fno_delayed_template_parsing, in ConstructJob()
2914 if (Arg *A = Args.getLastArg(options::OPT_fgnu_keywords, in ConstructJob()
2915 options::OPT_fno_gnu_keywords)) in ConstructJob()
2918 if (Args.hasFlag(options::OPT_fgnu89_inline, in ConstructJob()
2919 options::OPT_fno_gnu89_inline, in ConstructJob()
2923 if (Args.hasArg(options::OPT_fno_inline)) in ConstructJob()
2926 if (Args.hasArg(options::OPT_fno_inline_functions)) in ConstructJob()
2934 if (!Args.hasFlag(options::OPT_fobjc_legacy_dispatch, in ConstructJob()
2935 options::OPT_fno_objc_legacy_dispatch, in ConstructJob()
2976 if (Args.hasFlag(options::OPT_fobjc_arc_exceptions, in ConstructJob()
2977 options::OPT_fno_objc_arc_exceptions, in ConstructJob()
2989 const Arg *GCArg = Args.getLastArg(options::OPT_fobjc_gc_only); in ConstructJob()
2991 GCArg = Args.getLastArg(options::OPT_fobjc_gc); in ConstructJob()
3013 if (!Args.hasFlag(options::OPT_fassume_sane_operator_new, in ConstructJob()
3014 options::OPT_fno_assume_sane_operator_new)) in ConstructJob()
3019 if (!Args.hasFlag(options::OPT_fconstant_cfstrings, in ConstructJob()
3020 options::OPT_fno_constant_cfstrings) || in ConstructJob()
3021 !Args.hasFlag(options::OPT_mconstant_cfstrings, in ConstructJob()
3022 options::OPT_mno_constant_cfstrings)) in ConstructJob()
3027 if (Arg *A = Args.getLastArg(options::OPT_fshort_wchar)) in ConstructJob()
3035 if (Args.hasFlag(options::OPT_fpascal_strings, in ConstructJob()
3036 options::OPT_fno_pascal_strings, in ConstructJob()
3038 Args.hasFlag(options::OPT_mpascal_strings, in ConstructJob()
3039 options::OPT_mno_pascal_strings, in ConstructJob()
3045 if (Arg *A = Args.getLastArg(options::OPT_fpack_struct_EQ)) { in ConstructJob()
3049 } else if (Args.hasFlag(options::OPT_fpack_struct, in ConstructJob()
3050 options::OPT_fno_pack_struct, false)) { in ConstructJob()
3055 if (!Args.hasArg(options::OPT_fcommon)) in ConstructJob()
3057 Args.ClaimAllArgs(options::OPT_fno_common); in ConstructJob()
3061 else if (!Args.hasFlag(options::OPT_fcommon, options::OPT_fno_common)) in ConstructJob()
3066 if (!Args.hasFlag(options::OPT_fsigned_bitfields, in ConstructJob()
3067 options::OPT_funsigned_bitfields)) in ConstructJob()
3069 << Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args); in ConstructJob()
3072 if (!Args.hasFlag(options::OPT_ffor_scope, in ConstructJob()
3073 options::OPT_fno_for_scope)) in ConstructJob()
3075 << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args); in ConstructJob()
3078 if (!Args.hasFlag(options::OPT_fcaret_diagnostics, in ConstructJob()
3079 options::OPT_fno_caret_diagnostics, true)) in ConstructJob()
3083 if (!Args.hasFlag(options::OPT_fdiagnostics_fixit_info, in ConstructJob()
3084 options::OPT_fno_diagnostics_fixit_info)) in ConstructJob()
3088 if (Args.hasFlag(options::OPT_fdiagnostics_show_option, in ConstructJob()
3089 options::OPT_fno_diagnostics_show_option)) in ConstructJob()
3093 Args.getLastArg(options::OPT_fdiagnostics_show_category_EQ)) { in ConstructJob()
3099 Args.getLastArg(options::OPT_fdiagnostics_format_EQ)) { in ConstructJob()
3105 options::OPT_fdiagnostics_show_note_include_stack, in ConstructJob()
3106 options::OPT_fno_diagnostics_show_note_include_stack)) { in ConstructJob()
3108 options::OPT_fdiagnostics_show_note_include_stack)) in ConstructJob()
3116 if (Args.hasFlag(options::OPT_fcolor_diagnostics, in ConstructJob()
3117 options::OPT_fno_color_diagnostics, in ConstructJob()
3121 if (!Args.hasFlag(options::OPT_fshow_source_location, in ConstructJob()
3122 options::OPT_fno_show_source_location)) in ConstructJob()
3125 if (!Args.hasFlag(options::OPT_fshow_column, in ConstructJob()
3126 options::OPT_fno_show_column, in ConstructJob()
3130 if (!Args.hasFlag(options::OPT_fspell_checking, in ConstructJob()
3131 options::OPT_fno_spell_checking)) in ConstructJob()
3136 if (Args.hasFlag(options::OPT_fasm_blocks, options::OPT_fno_asm_blocks, in ConstructJob()
3141 if (Args.hasFlag(options::OPT_fvectorize, in ConstructJob()
3142 options::OPT_fno_vectorize, true)) { in ConstructJob()
3148 if (Args.hasFlag(options::OPT_fslp_vectorize, in ConstructJob()
3149 options::OPT_fno_slp_vectorize, false)) { in ConstructJob()
3154 if (Arg *A = Args.getLastArg(options::OPT_fshow_overloads_EQ)) in ConstructJob()
3159 if (Arg *A = Args.getLastArg(options::OPT_fdollars_in_identifiers, in ConstructJob()
3160 options::OPT_fno_dollars_in_identifiers)) { in ConstructJob()
3161 if (A->getOption().matches(options::OPT_fdollars_in_identifiers)) in ConstructJob()
3169 if (Arg *A = Args.getLastArg(options::OPT_funit_at_a_time, in ConstructJob()
3170 options::OPT_fno_unit_at_a_time)) { in ConstructJob()
3171 if (A->getOption().matches(options::OPT_fno_unit_at_a_time)) in ConstructJob()
3175 if (Args.hasFlag(options::OPT_fapple_pragma_pack, in ConstructJob()
3176 options::OPT_fno_apple_pragma_pack, false)) in ConstructJob()
3186 if (!Args.hasArg(options::OPT_fbuiltin_strcat)) in ConstructJob()
3188 if (!Args.hasArg(options::OPT_fbuiltin_strcpy)) in ConstructJob()
3194 if (Arg *A = Args.getLastArg(options::OPT_traditional, in ConstructJob()
3195 options::OPT_traditional_cpp)) { in ConstructJob()
3202 Args.AddLastArg(CmdArgs, options::OPT_dM); in ConstructJob()
3203 Args.AddLastArg(CmdArgs, options::OPT_dD); in ConstructJob()
3206 if (Arg *A = Args.getLastArg(options::OPT__serialize_diags)) { in ConstructJob()
3211 if (Args.hasArg(options::OPT_fretain_comments_from_system_headers)) in ConstructJob()
3215 Args.AddAllArgs(CmdArgs, options::OPT_fcomment_block_commands); in ConstructJob()
3219 Args.AddAllArgValues(CmdArgs, options::OPT_Xclang); in ConstructJob()
3220 for (arg_iterator it = Args.filtered_begin(options::OPT_mllvm), in ConstructJob()
3245 if (Args.hasArg(options::OPT_rewrite_objc)) in ConstructJob()
3255 Args.AddAllArgs(CmdArgs, options::OPT_undef); in ConstructJob()
3279 bool SplitDwarf = Args.hasArg(options::OPT_gsplit_dwarf) && in ConstructJob()
3298 if (Arg *A = Args.getLastArg(options::OPT_pg)) in ConstructJob()
3299 if (Args.hasArg(options::OPT_fomit_frame_pointer)) in ConstructJob()
3308 Args.ClaimAllArgs(options::OPT_fpch_preprocess); in ConstructJob()
3312 Args.ClaimAllArgs(options::OPT_clang_ignored_f_Group); in ConstructJob()
3313 Args.ClaimAllArgs(options::OPT_clang_ignored_m_Group); in ConstructJob()
3316 Args.ClaimAllArgs(options::OPT_use_gold_plugin); in ConstructJob()
3317 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
3330 if (const Arg *A = Args.getLastArg(options::OPT_mfpu_EQ)) in AddARMTargetArgs()
3334 if (const Arg *A = Args.getLastArg(options::OPT_mfpmath_EQ)) in AddARMTargetArgs()
3354 Arg *runtimeArg = args.getLastArg(options::OPT_fnext_runtime, in AddObjCRuntimeArgs()
3355 options::OPT_fgnu_runtime, in AddObjCRuntimeArgs()
3356 options::OPT_fobjc_runtime_EQ); in AddObjCRuntimeArgs()
3361 runtimeArg->getOption().matches(options::OPT_fobjc_runtime_EQ)) { in AddObjCRuntimeArgs()
3380 if (Arg *abiArg = args.getLastArg(options::OPT_fobjc_abi_version_EQ)) { in AddObjCRuntimeArgs()
3397 if (args.hasFlag(options::OPT_fobjc_nonfragile_abi, in AddObjCRuntimeArgs()
3398 options::OPT_fno_objc_nonfragile_abi, in AddObjCRuntimeArgs()
3408 options::OPT_fobjc_nonfragile_abi_version_EQ)) { in AddObjCRuntimeArgs()
3446 } else if (runtimeArg->getOption().matches(options::OPT_fnext_runtime)) { in AddObjCRuntimeArgs()
3458 assert(runtimeArg->getOption().matches(options::OPT_fgnu_runtime)); in AddObjCRuntimeArgs()
3483 Args.ClaimAllArgs(options::OPT_w); in ConstructJob()
3485 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
3487 Args.ClaimAllArgs(options::OPT_use_gold_plugin); in ConstructJob()
3530 (void) Args.hasArg(options::OPT_force__cpusubtype__ALL); in ConstructJob()
3543 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
3544 if (Arg *A = Args.getLastArg(options::OPT_g_Group)) in ConstructJob()
3545 if (!A->getOption().matches(options::OPT_g0)) in ConstructJob()
3578 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
3579 options::OPT_Xassembler); in ConstructJob()
3580 Args.AddAllArgs(CmdArgs, options::OPT_mllvm); in ConstructJob()
3607 A->getOption().matches(options::OPT_g_Group)) in ConstructJob()
3653 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
3654 options::OPT_Xassembler); in ConstructJob()
3688 if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) { in ConstructJob()
3782 Args.AddAllArgs(CmdArgs, options::OPT_g_Group); in ConstructJob()
3783 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
3784 options::OPT_Xassembler); in ConstructJob()
3840 bool hasStaticArg = Args.hasArg(options::OPT_static); in ConstructJob()
3841 bool buildingLib = Args.hasArg(options::OPT_shared); in ConstructJob()
3842 bool buildPIE = Args.hasArg(options::OPT_pie); in ConstructJob()
3843 bool incStdLib = !Args.hasArg(options::OPT_nostdlib); in ConstructJob()
3844 bool incStartFiles = !Args.hasArg(options::OPT_nostartfiles); in ConstructJob()
3845 bool incDefLibs = !Args.hasArg(options::OPT_nodefaultlibs); in ConstructJob()
3852 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
3853 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
3854 Args.ClaimAllArgs(options::OPT_w); // Other warning options are already in ConstructJob()
3856 Args.ClaimAllArgs(options::OPT_static_libgcc); in ConstructJob()
3909 for (arg_iterator it = Args.filtered_begin(options::OPT_moslib_EQ), in ConstructJob()
3950 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
3951 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
3952 Args.AddAllArgs(CmdArgs, options::OPT_s); in ConstructJob()
3953 Args.AddAllArgs(CmdArgs, options::OPT_t); in ConstructJob()
3954 Args.AddAllArgs(CmdArgs, options::OPT_u_Group); in ConstructJob()
4050 if (Arg *OutputOpt = Args.getLastArg(options::OPT_o)) { in getDependencyFileName()
4079 if (Args.hasArg(options::OPT_gstabs)) in ConstructJob()
4081 else if (Args.hasArg(options::OPT_g_Group)) in ConstructJob()
4091 Args.hasArg(options::OPT_force__cpusubtype__ALL)) in ConstructJob()
4095 (((Args.hasArg(options::OPT_mkernel) || in ConstructJob()
4096 Args.hasArg(options::OPT_fapple_kext)) && in ConstructJob()
4099 Args.hasArg(options::OPT_static))) in ConstructJob()
4102 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
4103 options::OPT_Xassembler); in ConstructJob()
4154 if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) { in AddLinkArgs()
4165 if (Version[0] >= 100 && !Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) { in AddLinkArgs()
4170 Args.hasArg(options::OPT_static)); in AddLinkArgs()
4172 for (arg_iterator it = Args.filtered_begin(options::OPT_Xlinker, in AddLinkArgs()
4173 options::OPT_Wl_COMMA), in AddLinkArgs()
4197 Args.AddAllArgs(CmdArgs, options::OPT_static); in AddLinkArgs()
4198 if (!Args.hasArg(options::OPT_static)) in AddLinkArgs()
4200 if (Args.hasArg(options::OPT_fgnu_runtime)) { in AddLinkArgs()
4205 if (!Args.hasArg(options::OPT_dynamiclib)) { in AddLinkArgs()
4208 Args.AddLastArg(CmdArgs, options::OPT_force__cpusubtype__ALL); in AddLinkArgs()
4210 Args.AddLastArg(CmdArgs, options::OPT_bundle); in AddLinkArgs()
4211 Args.AddAllArgs(CmdArgs, options::OPT_bundle__loader); in AddLinkArgs()
4212 Args.AddAllArgs(CmdArgs, options::OPT_client__name); in AddLinkArgs()
4215 if ((A = Args.getLastArg(options::OPT_compatibility__version)) || in AddLinkArgs()
4216 (A = Args.getLastArg(options::OPT_current__version)) || in AddLinkArgs()
4217 (A = Args.getLastArg(options::OPT_install__name))) in AddLinkArgs()
4221 Args.AddLastArg(CmdArgs, options::OPT_force__flat__namespace); in AddLinkArgs()
4222 Args.AddLastArg(CmdArgs, options::OPT_keep__private__externs); in AddLinkArgs()
4223 Args.AddLastArg(CmdArgs, options::OPT_private__bundle); in AddLinkArgs()
4228 if ((A = Args.getLastArg(options::OPT_bundle)) || in AddLinkArgs()
4229 (A = Args.getLastArg(options::OPT_bundle__loader)) || in AddLinkArgs()
4230 (A = Args.getLastArg(options::OPT_client__name)) || in AddLinkArgs()
4231 (A = Args.getLastArg(options::OPT_force__flat__namespace)) || in AddLinkArgs()
4232 (A = Args.getLastArg(options::OPT_keep__private__externs)) || in AddLinkArgs()
4233 (A = Args.getLastArg(options::OPT_private__bundle))) in AddLinkArgs()
4237 Args.AddAllArgsTranslated(CmdArgs, options::OPT_compatibility__version, in AddLinkArgs()
4239 Args.AddAllArgsTranslated(CmdArgs, options::OPT_current__version, in AddLinkArgs()
4244 Args.AddAllArgsTranslated(CmdArgs, options::OPT_install__name, in AddLinkArgs()
4248 Args.AddLastArg(CmdArgs, options::OPT_all__load); in AddLinkArgs()
4249 Args.AddAllArgs(CmdArgs, options::OPT_allowable__client); in AddLinkArgs()
4250 Args.AddLastArg(CmdArgs, options::OPT_bind__at__load); in AddLinkArgs()
4252 Args.AddLastArg(CmdArgs, options::OPT_arch__errors__fatal); in AddLinkArgs()
4253 Args.AddLastArg(CmdArgs, options::OPT_dead__strip); in AddLinkArgs()
4254 Args.AddLastArg(CmdArgs, options::OPT_no__dead__strip__inits__and__terms); in AddLinkArgs()
4255 Args.AddAllArgs(CmdArgs, options::OPT_dylib__file); in AddLinkArgs()
4256 Args.AddLastArg(CmdArgs, options::OPT_dynamic); in AddLinkArgs()
4257 Args.AddAllArgs(CmdArgs, options::OPT_exported__symbols__list); in AddLinkArgs()
4258 Args.AddLastArg(CmdArgs, options::OPT_flat__namespace); in AddLinkArgs()
4259 Args.AddAllArgs(CmdArgs, options::OPT_force__load); in AddLinkArgs()
4260 Args.AddAllArgs(CmdArgs, options::OPT_headerpad__max__install__names); in AddLinkArgs()
4261 Args.AddAllArgs(CmdArgs, options::OPT_image__base); in AddLinkArgs()
4262 Args.AddAllArgs(CmdArgs, options::OPT_init); in AddLinkArgs()
4274 if (Args.hasArg(options::OPT_mios_simulator_version_min_EQ)) in AddLinkArgs()
4282 Args.AddLastArg(CmdArgs, options::OPT_nomultidefs); in AddLinkArgs()
4283 Args.AddLastArg(CmdArgs, options::OPT_multi__module); in AddLinkArgs()
4284 Args.AddLastArg(CmdArgs, options::OPT_single__module); in AddLinkArgs()
4285 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined); in AddLinkArgs()
4286 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined__unused); in AddLinkArgs()
4288 if (const Arg *A = Args.getLastArg(options::OPT_fpie, options::OPT_fPIE, in AddLinkArgs()
4289 options::OPT_fno_pie, in AddLinkArgs()
4290 options::OPT_fno_PIE)) { in AddLinkArgs()
4291 if (A->getOption().matches(options::OPT_fpie) || in AddLinkArgs()
4292 A->getOption().matches(options::OPT_fPIE)) in AddLinkArgs()
4298 Args.AddLastArg(CmdArgs, options::OPT_prebind); in AddLinkArgs()
4299 Args.AddLastArg(CmdArgs, options::OPT_noprebind); in AddLinkArgs()
4300 Args.AddLastArg(CmdArgs, options::OPT_nofixprebinding); in AddLinkArgs()
4301 Args.AddLastArg(CmdArgs, options::OPT_prebind__all__twolevel__modules); in AddLinkArgs()
4302 Args.AddLastArg(CmdArgs, options::OPT_read__only__relocs); in AddLinkArgs()
4303 Args.AddAllArgs(CmdArgs, options::OPT_sectcreate); in AddLinkArgs()
4304 Args.AddAllArgs(CmdArgs, options::OPT_sectorder); in AddLinkArgs()
4305 Args.AddAllArgs(CmdArgs, options::OPT_seg1addr); in AddLinkArgs()
4306 Args.AddAllArgs(CmdArgs, options::OPT_segprot); in AddLinkArgs()
4307 Args.AddAllArgs(CmdArgs, options::OPT_segaddr); in AddLinkArgs()
4308 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__only__addr); in AddLinkArgs()
4309 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__write__addr); in AddLinkArgs()
4310 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table); in AddLinkArgs()
4311 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table__filename); in AddLinkArgs()
4312 Args.AddAllArgs(CmdArgs, options::OPT_sub__library); in AddLinkArgs()
4313 Args.AddAllArgs(CmdArgs, options::OPT_sub__umbrella); in AddLinkArgs()
4321 } else if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { in AddLinkArgs()
4326 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace); in AddLinkArgs()
4327 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace__hints); in AddLinkArgs()
4328 Args.AddAllArgs(CmdArgs, options::OPT_umbrella); in AddLinkArgs()
4329 Args.AddAllArgs(CmdArgs, options::OPT_undefined); in AddLinkArgs()
4330 Args.AddAllArgs(CmdArgs, options::OPT_unexported__symbols__list); in AddLinkArgs()
4331 Args.AddAllArgs(CmdArgs, options::OPT_weak__reference__mismatches); in AddLinkArgs()
4332 Args.AddLastArg(CmdArgs, options::OPT_X_Flag); in AddLinkArgs()
4333 Args.AddAllArgs(CmdArgs, options::OPT_y); in AddLinkArgs()
4334 Args.AddLastArg(CmdArgs, options::OPT_w); in AddLinkArgs()
4335 Args.AddAllArgs(CmdArgs, options::OPT_pagezero__size); in AddLinkArgs()
4336 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__); in AddLinkArgs()
4337 Args.AddLastArg(CmdArgs, options::OPT_seglinkedit); in AddLinkArgs()
4338 Args.AddLastArg(CmdArgs, options::OPT_noseglinkedit); in AddLinkArgs()
4339 Args.AddAllArgs(CmdArgs, options::OPT_sectalign); in AddLinkArgs()
4340 Args.AddAllArgs(CmdArgs, options::OPT_sectobjectsymbols); in AddLinkArgs()
4341 Args.AddAllArgs(CmdArgs, options::OPT_segcreate); in AddLinkArgs()
4342 Args.AddLastArg(CmdArgs, options::OPT_whyload); in AddLinkArgs()
4343 Args.AddLastArg(CmdArgs, options::OPT_whatsloaded); in AddLinkArgs()
4344 Args.AddAllArgs(CmdArgs, options::OPT_dylinker__install__name); in AddLinkArgs()
4345 Args.AddLastArg(CmdArgs, options::OPT_dylinker); in AddLinkArgs()
4346 Args.AddLastArg(CmdArgs, options::OPT_Mach); in AddLinkArgs()
4362 if (Args.hasArg(options::OPT_ccc_arcmt_check, in ConstructJob()
4363 options::OPT_ccc_arcmt_migrate)) { in ConstructJob()
4377 Args.AddAllArgs(CmdArgs, options::OPT_d_Flag); in ConstructJob()
4378 Args.AddAllArgs(CmdArgs, options::OPT_s); in ConstructJob()
4379 Args.AddAllArgs(CmdArgs, options::OPT_t); in ConstructJob()
4380 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); in ConstructJob()
4381 Args.AddAllArgs(CmdArgs, options::OPT_u_Group); in ConstructJob()
4382 Args.AddLastArg(CmdArgs, options::OPT_e); in ConstructJob()
4383 Args.AddAllArgs(CmdArgs, options::OPT_m_Separate); in ConstructJob()
4384 Args.AddAllArgs(CmdArgs, options::OPT_r); in ConstructJob()
4389 if (Args.hasArg(options::OPT_ObjC) || Args.hasArg(options::OPT_ObjCXX)) in ConstructJob()
4392 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
4398 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4399 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4401 if (Args.hasArg(options::OPT_dynamiclib)) { in ConstructJob()
4416 if (Args.hasArg(options::OPT_bundle)) { in ConstructJob()
4417 if (!Args.hasArg(options::OPT_static)) { in ConstructJob()
4431 if (Args.hasArg(options::OPT_pg) && in ConstructJob()
4433 if (Args.hasArg(options::OPT_static) || in ConstructJob()
4434 Args.hasArg(options::OPT_object) || in ConstructJob()
4435 Args.hasArg(options::OPT_preload)) { in ConstructJob()
4451 if (Args.hasArg(options::OPT_static) || in ConstructJob()
4452 Args.hasArg(options::OPT_object) || in ConstructJob()
4453 Args.hasArg(options::OPT_preload)) { in ConstructJob()
4481 Args.hasArg(options::OPT_shared_libgcc) && in ConstructJob()
4489 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
4497 if (Args.hasArg(options::OPT_dynamiclib) || in ConstructJob()
4498 Args.hasArg(options::OPT_bundle)) { in ConstructJob()
4504 if (Args.hasArg(options::OPT_fopenmp)) in ConstructJob()
4511 !Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4512 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
4538 if (Args.hasArg(options::OPT_fnested_functions)) in ConstructJob()
4541 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4542 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
4552 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4553 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4557 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
4558 Args.AddAllArgs(CmdArgs, options::OPT_F); in ConstructJob()
4639 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
4640 options::OPT_Xassembler); in ConstructJob()
4687 if ((!Args.hasArg(options::OPT_nostdlib)) && in ConstructJob()
4688 (!Args.hasArg(options::OPT_shared))) { in ConstructJob()
4693 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
4698 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
4713 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4714 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4715 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
4731 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
4732 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
4733 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
4734 Args.AddAllArgs(CmdArgs, options::OPT_r); in ConstructJob()
4738 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4739 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
4743 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
4750 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4751 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4770 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
4771 options::OPT_Xassembler); in ConstructJob()
4794 if ((!Args.hasArg(options::OPT_nostdlib)) && in ConstructJob()
4795 (!Args.hasArg(options::OPT_shared))) { in ConstructJob()
4800 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
4806 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
4821 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4822 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4823 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
4842 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
4843 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
4844 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
4848 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4849 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
4854 if (Args.hasArg(options::OPT_pthread)) in ConstructJob()
4856 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
4861 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4862 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4863 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
4882 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
4883 options::OPT_Xassembler); in ConstructJob()
4908 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
4910 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
4913 Args.ClaimAllArgs(options::OPT_w); in ConstructJob()
4915 if ((!Args.hasArg(options::OPT_nostdlib)) && in ConstructJob()
4916 (!Args.hasArg(options::OPT_shared))) { in ConstructJob()
4921 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
4924 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
4928 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
4943 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4944 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
4945 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
4946 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
4966 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
4967 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
4968 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
4969 Args.AddAllArgs(CmdArgs, options::OPT_s); in ConstructJob()
4970 Args.AddAllArgs(CmdArgs, options::OPT_t); in ConstructJob()
4971 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); in ConstructJob()
4972 Args.AddAllArgs(CmdArgs, options::OPT_r); in ConstructJob()
4976 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
4977 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
4980 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
4990 if (Args.hasArg(options::OPT_pthread)) { in ConstructJob()
4991 if (!Args.hasArg(options::OPT_shared) && in ConstructJob()
4992 Args.hasArg(options::OPT_pg)) in ConstructJob()
4998 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
4999 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5008 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5009 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5010 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
5030 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
5031 options::OPT_Xassembler); in ConstructJob()
5055 if ((!Args.hasArg(options::OPT_nostdlib)) && in ConstructJob()
5056 (!Args.hasArg(options::OPT_shared))) { in ConstructJob()
5061 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5064 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
5068 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
5083 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5084 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5085 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
5086 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5100 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
5101 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
5102 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
5106 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5107 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
5110 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5116 if (Args.hasArg(options::OPT_pthread)) { in ConstructJob()
5117 if (!Args.hasArg(options::OPT_shared) && in ConstructJob()
5118 Args.hasArg(options::OPT_pg)) in ConstructJob()
5124 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
5125 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5150 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5151 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5152 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
5198 Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC, in ConstructJob()
5199 options::OPT_fpic, options::OPT_fno_pic, in ConstructJob()
5200 options::OPT_fPIE, options::OPT_fno_PIE, in ConstructJob()
5201 options::OPT_fpie, options::OPT_fno_pie); in ConstructJob()
5203 (LastPICArg->getOption().matches(options::OPT_fPIC) || in ConstructJob()
5204 LastPICArg->getOption().matches(options::OPT_fpic) || in ConstructJob()
5205 LastPICArg->getOption().matches(options::OPT_fPIE) || in ConstructJob()
5206 LastPICArg->getOption().matches(options::OPT_fpie))) { in ConstructJob()
5223 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
5224 options::OPT_Xassembler); in ConstructJob()
5251 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
5253 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
5256 Args.ClaimAllArgs(options::OPT_w); in ConstructJob()
5261 if (Args.hasArg(options::OPT_pie)) in ConstructJob()
5264 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5267 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
5270 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
5305 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5306 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5308 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
5309 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5311 else if (Args.hasArg(options::OPT_pie)) in ConstructJob()
5322 if (Args.hasArg(options::OPT_static)) in ConstructJob()
5324 else if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie)) in ConstructJob()
5332 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
5337 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
5338 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
5339 Args.AddAllArgs(CmdArgs, options::OPT_s); in ConstructJob()
5340 Args.AddAllArgs(CmdArgs, options::OPT_t); in ConstructJob()
5341 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); in ConstructJob()
5342 Args.AddAllArgs(CmdArgs, options::OPT_r); in ConstructJob()
5346 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5347 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
5350 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5357 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5361 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5363 } else if (Args.hasArg(options::OPT_pg)) { in ConstructJob()
5371 if (Args.hasArg(options::OPT_pthread)) { in ConstructJob()
5372 if (Args.hasArg(options::OPT_pg)) in ConstructJob()
5378 if (Args.hasArg(options::OPT_pg)) { in ConstructJob()
5379 if (Args.hasArg(options::OPT_shared)) in ConstructJob()
5389 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5391 } else if (Args.hasArg(options::OPT_pg)) { in ConstructJob()
5400 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5401 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5402 if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_pie)) in ConstructJob()
5434 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
5435 options::OPT_Xassembler); in ConstructJob()
5461 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5464 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
5467 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
5489 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5490 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5491 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
5506 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
5507 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
5508 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
5509 Args.AddAllArgs(CmdArgs, options::OPT_s); in ConstructJob()
5510 Args.AddAllArgs(CmdArgs, options::OPT_t); in ConstructJob()
5511 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); in ConstructJob()
5512 Args.AddAllArgs(CmdArgs, options::OPT_r); in ConstructJob()
5516 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5517 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
5524 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5533 if (Args.hasArg(options::OPT_pthread)) in ConstructJob()
5538 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5547 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5548 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5549 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
5595 Args.AddLastArg(CmdArgs, options::OPT_march_EQ); in ConstructJob()
5596 Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ); in ConstructJob()
5597 Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ); in ConstructJob()
5618 Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC, in ConstructJob()
5619 options::OPT_fpic, options::OPT_fno_pic, in ConstructJob()
5620 options::OPT_fPIE, options::OPT_fno_PIE, in ConstructJob()
5621 options::OPT_fpie, options::OPT_fno_pie); in ConstructJob()
5623 (LastPICArg->getOption().matches(options::OPT_fPIC) || in ConstructJob()
5624 LastPICArg->getOption().matches(options::OPT_fpic) || in ConstructJob()
5625 LastPICArg->getOption().matches(options::OPT_fPIE) || in ConstructJob()
5626 LastPICArg->getOption().matches(options::OPT_fpie))) { in ConstructJob()
5631 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
5632 options::OPT_Xassembler); in ConstructJob()
5651 bool StaticLibgcc = Args.hasArg(options::OPT_static_libgcc) || in AddLibgcc()
5652 Args.hasArg(options::OPT_static); in AddLibgcc()
5669 else if (!Args.hasArg(options::OPT_shared) && D.CCCIsCXX) in AddLibgcc()
5682 Arg *A = Args.getLastArg(options::OPT_mabi_EQ); in hasMipsN32ABIArg()
5700 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
5702 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
5705 Args.ClaimAllArgs(options::OPT_w); in ConstructJob()
5710 if (Args.hasArg(options::OPT_pie) && !Args.hasArg(options::OPT_shared)) in ConstructJob()
5713 if (Args.hasArg(options::OPT_rdynamic)) in ConstructJob()
5716 if (Args.hasArg(options::OPT_s)) in ConstructJob()
5724 if (!Args.hasArg(options::OPT_static)) { in ConstructJob()
5759 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
5765 } else if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
5774 (!Args.hasArg(options::OPT_static) && in ConstructJob()
5775 !Args.hasArg(options::OPT_shared))) { in ConstructJob()
5811 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5812 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5815 if (!Args.hasArg(options::OPT_shared)){ in ConstructJob()
5816 if (Args.hasArg(options::OPT_pie)) in ConstructJob()
5828 if (Args.hasArg(options::OPT_static)) in ConstructJob()
5830 else if (Args.hasArg(options::OPT_shared)) in ConstructJob()
5832 else if (Args.hasArg(options::OPT_pie)) in ConstructJob()
5842 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
5853 if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) { in ConstructJob()
5878 if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) in ConstructJob()
5896 !Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5897 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
5898 bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx) && in ConstructJob()
5899 !Args.hasArg(options::OPT_static); in ConstructJob()
5908 if (!Args.hasArg(options::OPT_nostdlib)) { in ConstructJob()
5909 if (!Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
5910 if (Args.hasArg(options::OPT_static)) in ConstructJob()
5913 bool OpenMP = Args.hasArg(options::OPT_fopenmp); in ConstructJob()
5924 if (Args.hasArg(options::OPT_pthread) || in ConstructJob()
5925 Args.hasArg(options::OPT_pthreads) || OpenMP) in ConstructJob()
5930 if (Args.hasArg(options::OPT_static)) in ConstructJob()
5936 if (!Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
5938 if (Args.hasArg(options::OPT_shared)) in ConstructJob()
5940 else if (Args.hasArg(options::OPT_pie)) in ConstructJob()
5963 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
5964 options::OPT_Xassembler); in ConstructJob()
5995 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
5996 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
6003 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
6004 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
6005 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
6011 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6012 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
6019 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6020 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
6021 if (Args.hasArg(options::OPT_pthread)) in ConstructJob()
6050 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, in ConstructJob()
6051 options::OPT_Xassembler); in ConstructJob()
6078 if (Args.hasArg(options::OPT_static)) { in ConstructJob()
6081 if (Args.hasArg(options::OPT_shared)) in ConstructJob()
6103 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6104 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
6105 if (!Args.hasArg(options::OPT_shared)) { in ConstructJob()
6120 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
6121 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
6122 Args.AddAllArgs(CmdArgs, options::OPT_e); in ConstructJob()
6126 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6127 !Args.hasArg(options::OPT_nodefaultlibs)) { in ConstructJob()
6132 if (!Args.hasArg(options::OPT_static)) { in ConstructJob()
6151 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
6158 if (Args.hasArg(options::OPT_pthread)) in ConstructJob()
6161 if (!Args.hasArg(options::OPT_nolibc)) { in ConstructJob()
6165 if (Args.hasArg(options::OPT_shared)) { in ConstructJob()
6172 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6173 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
6174 if (!Args.hasArg(options::OPT_shared)) in ConstructJob()
6205 if (!Args.hasArg(options::OPT_nostdlib) && in ConstructJob()
6206 !Args.hasArg(options::OPT_nostartfiles)) { in ConstructJob()
6212 Args.AddAllArgValues(CmdArgs, options::OPT_l); in ConstructJob()