Home | History | Annotate | Download | only in Driver

Lines Matching refs:Args

42                        const ArgList &Args)
43 : ToolChain(D, Triple, Args) {
56 const ArgList & Args)
57 : MachO(D, Triple, Args), TargetInitialized(false) {
145 static bool isSoftFloatABI(const ArgList &Args) {
146 Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float,
156 StringRef MachO::getMachOArchName(const ArgList &Args) const {
163 if (const Arg *A = Args.getLastArg(options::OPT_march_EQ))
167 if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ))
183 std::string MachO::ComputeEffectiveClangTriple(const ArgList &Args,
185 llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
190 std::string Darwin::ComputeEffectiveClangTriple(const ArgList &Args,
192 llvm::Triple Triple(ComputeLLVMTriple(Args, InputType));
237 const ArgList &Args)
238 : Darwin(D, Triple, Args) {
257 static bool isObjCAutoRefCount(const ArgList &Args) {
258 return Args.hasFlag(options::OPT_fobjc_arc, options::OPT_fno_objc_arc, false);
261 void DarwinClang::AddLinkARCArgs(const ArgList &Args,
269 if ((runtime.hasNativeARC() || !isObjCAutoRefCount(Args)) &&
287 CmdArgs.push_back(Args.MakeArgString(P));
290 void MachO::AddLinkRuntimeLib(const ArgList &Args, ArgStringList &CmdArgs,
301 CmdArgs.push_back(Args.MakeArgString(P.str()));
304 void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
307 switch (GetRuntimeLibType(Args)) {
312 << Args.getLastArg(options::OPT_rtlib_EQ)->getValue() << "darwin";
318 if (Args.hasArg(options::OPT_static) ||
319 Args.hasArg(options::OPT_fapple_kext) ||
320 Args.hasArg(options::OPT_mkernel))
326 if (const Arg *A = Args.getLastArg(options::OPT_static_libgcc)) {
328 << A->getAsString(Args);
333 if (Args.hasArg(options::OPT_fprofile_arcs) ||
334 Args.hasArg(options::OPT_fprofile_generate) ||
335 Args.hasArg(options::OPT_fprofile_instr_generate) ||
336 Args.hasArg(options::OPT_fcreate_profile) ||
337 Args.hasArg(options::OPT_coverage)) {
340 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_ios.a");
342 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_osx.a");
355 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.ubsan_osx.a", true);
358 AddCXXStdlibLibArgs(Args, CmdArgs);
370 if (!Args.hasArg(options::OPT_dynamiclib) &&
371 !Args.hasArg(options::OPT_bundle)) {
373 AddCXXStdlibLibArgs(Args, CmdArgs);
376 AddLinkRuntimeLib(Args, CmdArgs,
381 AddLinkRuntimeLib(Args, CmdArgs,
404 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.ios.a");
423 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.10.4.a");
426 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.eprintf.a");
427 AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.osx.a");
432 void Darwin::AddDeploymentTarget(DerivedArgList &Args) const {
438 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
448 Args.append(Args.MakeSeparateArg(
454 Arg *OSXVersion = Args.getLastArg(options::OPT_mmacosx_version_min_EQ);
455 Arg *iOSVersion = Args.getLastArg(options::OPT_miphoneos_version_min_EQ);
456 Args.getLastArg(
461 << OSXVersion->getAsString(Args)
462 << (iOSVersion ? iOSVersion : iOSSimVersion)->getAsString(Args);
466 << iOSVersion->getAsString(Args)
467 << iOSSimVersion->getAsString(Args);
486 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
497 StringRef MachOArchName = getMachOArchName(Args);
529 OSXVersion = Args.MakeJoinedArg(nullptr, O, OSXTarget);
530 Args.append(OSXVersion);
533 iOSVersion = Args.MakeJoinedArg(nullptr, O, iOSTarget);
534 Args.append(iOSVersion);
538 iOSSimVersion = Args.MakeJoinedArg(nullptr, O, iOSSimTarget);
539 Args.append(iOSSimVersion);
544 OSXVersion = Args.MakeJoinedArg(nullptr, O, MacosxVersionMin);
545 Args.append(OSXVersion);
563 << getTriple().getArchName() << iOSSimVersion->getAsString(Args);
575 << OSXVersion->getAsString(Args);
583 << Version->getAsString(Args);
598 void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args,
600 CXXStdlibType Type = GetCXXStdlibType(Args);
614 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
622 CmdArgs.push_back(Args.MakeArgString(P.str()));
644 void DarwinClang::AddCCKextLibArgs(const ArgList &Args,
667 CmdArgs.push_back(Args.MakeArgString(P.str()));
670 DerivedArgList *MachO::TranslateArgs(const DerivedArgList &Args,
672 DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
682 for (Arg *A : Args) {
694 unsigned Index = Args.getBaseArgs().MakeIndex(A->getValue(1));
696 std::unique_ptr<Arg> XarchArg(Opts.ParseOneArg(Args, Index));
708 << A->getAsString(Args);
712 << A->getAsString(Args);
801 if (!Args.hasArgNoClaim(options::OPT_mtune_EQ))
892 void MachO::AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args,
899 tools::arm::getARMFloatABI(getDriver(), Args, getTriple()) == "hard"
902 CompilerRT += Args.hasArg(options::OPT_fPIC) ? "_pic.a" : "_static.a";
904 AddLinkRuntimeLib(Args, CmdArgs, CompilerRT, false, true);
908 DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
910 // First get the generic Apple args, before moving onto Darwin-specific ones.
911 DerivedArgList *DAL = MachO::TranslateArgs(Args, BoundArch);
947 !Args.getLastArg(options::OPT_stdlib_EQ))
1005 void Darwin::addMinVersionArgs(const llvm::opt::ArgList &Args,
1016 if (Args.hasArg(options::OPT_mios_simulator_version_min_EQ))
1025 CmdArgs.push_back(Args.MakeArgString(TargetVersion.getAsString()));
1028 void Darwin::addStartObjectFileArgs(const llvm::opt::ArgList &Args,
1031 if (Args.hasArg(options::OPT_dynamiclib)) {
1045 if (Args.hasArg(options::OPT_bundle)) {
1046 if (!Args.hasArg(options::OPT_static)) {
1059 if (Args.hasArg(options::OPT_pg) && SupportsProfiling()) {
1060 if (Args.hasArg(options::OPT_static) ||
1061 Args.hasArg(options::OPT_object) ||
1062 Args.hasArg(options::OPT_preload)) {
1077 if (Args.hasArg(options::OPT_static) ||
1078 Args.hasArg(options::OPT_object) ||
1079 Args.hasArg(options::OPT_preload)) {
1108 if (!isTargetIPhoneOS() && Args.hasArg(options::OPT_shared_libgcc) &&
1110 const char *Str = Args.MakeArgString(GetFilePath("crt3.o"));
1205 static llvm::StringRef getGCCToolchainDir(const ArgList &Args) {
1206 const Arg *A = Args.getLastArg(options::OPT_gcc_toolchain);
1223 const Driver &D, const llvm::Triple &TargetTriple, const ArgList &Args) {
1240 StringRef GCCToolchainDir = getGCCToolchainDir(Args);
1272 ScanLibDirForGCCTriple(TargetTriple, Args, LibDir,
1281 ScanLibDirForGCCTriple(TargetTriple, Args, LibDir,
1633 static bool isMips16(const ArgList &Args) {
1634 Arg *A = Args.getLastArg(options::OPT_mips16,
1639 static bool isMips32r2(const ArgList &Args) {
1640 Arg *A = Args.getLastArg(options::OPT_march_EQ,
1646 static bool isMips64r2(const ArgList &Args) {
1647 Arg *A = Args.getLastArg(options::OPT_march_EQ,
1654 static bool isMicroMips(const ArgList &Args) {
1655 Arg *A = Args.getLastArg(options::OPT_mmicromips,
1660 static bool isMipsFP64(const ArgList &Args) {
1661 Arg *A = Args.getLastArg(options::OPT_mfp64, options::OPT_mfp32);
1665 static bool isMipsNan2008(const ArgList &Args) {
1666 Arg *A = Args.getLastArg(options::OPT_mnan_EQ);
1683 const llvm::opt::ArgList &Args,
1918 addMultilibFlag(isMips16(Args), "mips16", Flags);
1919 addMultilibFlag(isMips32r2(Args), "march=mips32r2", Flags);
1920 addMultilibFlag(isMips64r2(Args), "march=mips64r2", Flags);
1921 addMultilibFlag(isMicroMips(Args), "mmicromips", Flags);
1922 addMultilibFlag(isMipsFP64(Args), "mfp64", Flags);
1923 addMultilibFlag(!isMipsFP64(Args), "mfp32", Flags);
1924 addMultilibFlag(isMipsNan2008(Args), "mnan=2008", Flags);
1925 addMultilibFlag(tools::mips::hasMipsAbiArg(Args, "n32"), "mabi=n32", Flags);
1928 tools::mips::hasMipsAbiArg(Args, "64") ||
1929 (!tools::mips::hasMipsAbiArg(Args, "n32") && isMips64(TargetArch));
1931 addMultilibFlag(isSoftFloatABI(Args), "msoft-float", Flags);
1932 addMultilibFlag(isSoftFloatABI(Args), "mfloat-abi=soft", Flags);
1933 addMultilibFlag(!isSoftFloatABI(Args), "mhard-float", Flags);
1934 addMultilibFlag(!isSoftFloatABI(Args), "mfloat-abi=hard", Flags);
1990 StringRef Path, const ArgList &Args,
2069 const llvm::Triple &TargetTriple, const ArgList &Args,
2122 if (!findMIPSMultilibs(TargetTriple, LI->path(), Args, Detected))
2124 } else if (!findBiarchMultilibs(TargetTriple, LI->path(), Args,
2145 const ArgList &Args)
2146 : ToolChain(D, Triple, Args), GCCInstallation() {
2250 const ArgList &Args,
2256 bool buildingLib = Args.hasArg(options::OPT_shared);
2259 // -L Args
2262 it = Args.filtered_begin(options::OPT_L),
2263 ie = Args.filtered_end();
2301 const ArgList &Args)
2302 : Linux(D, Triple, Args) {
2332 Args,
2334 GetTargetCPU(Args),
2383 Hexagon_TC::GetCXXStdlibType(const ArgList &Args) const {
2384 Arg *A = Args.getLastArg(options::OPT_stdlib_EQ);
2391 << A->getAsString(Args);
2397 static int getHexagonVersion(const ArgList &Args) {
2398 Arg *A = Args.getLastArg(options::OPT_march_EQ, options::OPT_mcpu_EQ);
2420 StringRef Hexagon_TC::GetTargetCPU(const ArgList &Args)
2422 int V = getHexagonVersion(Args);
2446 const ArgList &Args)
2447 : ToolChain(D, Triple, Args) {
2476 OpenBSD::OpenBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2477 : Generic_ELF(D, Triple, Args) {
2492 Bitrig::Bitrig(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2493 : Generic_ELF(D, Triple, Args) {
2507 Bitrig::GetCXXStdlibType(const ArgList &Args) const {
2508 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
2516 << A->getAsString(Args);
2551 void Bitrig::AddCXXStdlibLibArgs(const ArgList &Args,
2553 switch (GetCXXStdlibType(Args)) {
2567 FreeBSD::FreeBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2568 : Generic_ELF(D, Triple, Args) {
2581 FreeBSD::GetCXXStdlibType(const ArgList &Args) const {
2582 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
2590 << A->getAsString(Args);
2649 NetBSD::NetBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2650 : Generic_ELF(D, Triple, Args) {
2680 if (tools::mips::hasMipsAbiArg(Args, "o32"))
2682 else if (tools::mips::hasMipsAbiArg(Args, "64"))
2705 NetBSD::GetCXXStdlibType(const ArgList &Args) const {
2706 if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) {
2714 << A->getAsString(Args);
2757 Minix::Minix(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
2758 : Generic_ELF(D, Triple, Args) {
2774 const ArgList &Args)
2775 : Generic_GCC(D, Triple, Args) {
2800 const ArgList &Args)
2801 : Generic_GCC(D, Triple, Args) {
3034 static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
3039 if (tools::mips::hasMipsAbiArg(Args, "n32"))
3064 Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
3065 : Generic_ELF(D, Triple, Args) {
3066 GCCInstallation.init(D, Triple, Args);
3135 const std::string OSLibDir = getOSLibDir(Triple, Args);
3534 DragonFly::DragonFly(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
3535 : Generic_ELF(D, Triple, Args) {
3561 const ArgList &Args) : ToolChain(D, Triple, Args) {
3626 void XCore::AddCXXStdlibLibArgs(const ArgList &Args,
3628 // We don't output any lib args. This is handled by xcc.