@@ -966,14 +966,11 @@ MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
966966 getProgramPaths ().push_back (getDriver ().Dir );
967967}
968968
969- AppleMachO::AppleMachO (const Driver &D, const llvm::Triple &Triple,
970- const ArgList &Args)
971- : MachO(D, Triple, Args), CudaInstallation(D, Triple, Args),
972- RocmInstallation(D, Triple, Args), SYCLInstallation(D, Triple, Args) {}
973-
974969// / Darwin - Darwin tool chain for i386 and x86_64.
975970Darwin::Darwin (const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
976- : AppleMachO(D, Triple, Args), TargetInitialized(false ) {}
971+ : MachO(D, Triple, Args), TargetInitialized(false ),
972+ CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args),
973+ SYCLInstallation(D, Triple, Args) {}
977974
978975types::ID MachO::LookupTypeForExtension (StringRef Ext) const {
979976 types::ID Ty = ToolChain::LookupTypeForExtension (Ext);
@@ -1022,18 +1019,18 @@ bool Darwin::hasBlocksRuntime() const {
10221019 }
10231020}
10241021
1025- void AppleMachO ::AddCudaIncludeArgs (const ArgList &DriverArgs,
1026- ArgStringList &CC1Args) const {
1022+ void Darwin ::AddCudaIncludeArgs (const ArgList &DriverArgs,
1023+ ArgStringList &CC1Args) const {
10271024 CudaInstallation->AddCudaIncludeArgs (DriverArgs, CC1Args);
10281025}
10291026
1030- void AppleMachO ::AddHIPIncludeArgs (const ArgList &DriverArgs,
1031- ArgStringList &CC1Args) const {
1027+ void Darwin ::AddHIPIncludeArgs (const ArgList &DriverArgs,
1028+ ArgStringList &CC1Args) const {
10321029 RocmInstallation->AddHIPIncludeArgs (DriverArgs, CC1Args);
10331030}
10341031
1035- void AppleMachO ::addSYCLIncludeArgs (const ArgList &DriverArgs,
1036- ArgStringList &CC1Args) const {
1032+ void Darwin ::addSYCLIncludeArgs (const ArgList &DriverArgs,
1033+ ArgStringList &CC1Args) const {
10371034 SYCLInstallation->addSYCLIncludeArgs (DriverArgs, CC1Args);
10381035}
10391036
@@ -1128,8 +1125,6 @@ VersionTuple MachO::getLinkerVersion(const llvm::opt::ArgList &Args) const {
11281125
11291126Darwin::~Darwin () {}
11301127
1131- AppleMachO::~AppleMachO () {}
1132-
11331128MachO::~MachO () {}
11341129
11351130std::string Darwin::ComputeEffectiveClangTriple (const ArgList &Args,
@@ -2493,7 +2488,7 @@ static void AppendPlatformPrefix(SmallString<128> &Path,
24932488// Returns the effective sysroot from either -isysroot or --sysroot, plus the
24942489// platform prefix (if any).
24952490llvm::SmallString<128 >
2496- AppleMachO ::GetEffectiveSysroot (const llvm::opt::ArgList &DriverArgs) const {
2491+ DarwinClang ::GetEffectiveSysroot (const llvm::opt::ArgList &DriverArgs) const {
24972492 llvm::SmallString<128 > Path (" /" );
24982493 if (DriverArgs.hasArg (options::OPT_isysroot))
24992494 Path = DriverArgs.getLastArgValue (options::OPT_isysroot);
@@ -2506,9 +2501,8 @@ AppleMachO::GetEffectiveSysroot(const llvm::opt::ArgList &DriverArgs) const {
25062501 return Path;
25072502}
25082503
2509- void AppleMachO::AddClangSystemIncludeArgs (
2510- const llvm::opt::ArgList &DriverArgs,
2511- llvm::opt::ArgStringList &CC1Args) const {
2504+ void DarwinClang::AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs,
2505+ llvm::opt::ArgStringList &CC1Args) const {
25122506 const Driver &D = getDriver ();
25132507
25142508 llvm::SmallString<128 > Sysroot = GetEffectiveSysroot (DriverArgs);
@@ -2586,7 +2580,7 @@ bool DarwinClang::AddGnuCPlusPlusIncludePaths(const llvm::opt::ArgList &DriverAr
25862580 return getVFS ().exists (Base);
25872581}
25882582
2589- void AppleMachO ::AddClangCXXStdlibIncludeArgs (
2583+ void DarwinClang ::AddClangCXXStdlibIncludeArgs (
25902584 const llvm::opt::ArgList &DriverArgs,
25912585 llvm::opt::ArgStringList &CC1Args) const {
25922586 // The implementation from a base class will pass through the -stdlib to
@@ -2643,60 +2637,55 @@ void AppleMachO::AddClangCXXStdlibIncludeArgs(
26432637 }
26442638
26452639 case ToolChain::CST_Libstdcxx:
2646- AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args);
2647- break ;
2648- }
2649- }
2650-
2651- void AppleMachO::AddGnuCPlusPlusIncludePaths (
2652- const llvm::opt::ArgList &DriverArgs,
2653- llvm::opt::ArgStringList &CC1Args) const {}
2654-
2655- void DarwinClang::AddGnuCPlusPlusIncludePaths (
2656- const llvm::opt::ArgList &DriverArgs,
2657- llvm::opt::ArgStringList &CC1Args) const {
2658- llvm::SmallString<128 > UsrIncludeCxx = GetEffectiveSysroot (DriverArgs);
2659- llvm::sys::path::append (UsrIncludeCxx, " usr" , " include" , " c++" );
2640+ llvm::SmallString<128 > UsrIncludeCxx = Sysroot;
2641+ llvm::sys::path::append (UsrIncludeCxx, " usr" , " include" , " c++" );
2642+
2643+ llvm::Triple::ArchType arch = getTriple ().getArch ();
2644+ bool IsBaseFound = true ;
2645+ switch (arch) {
2646+ default : break ;
2647+
2648+ case llvm::Triple::x86:
2649+ case llvm::Triple::x86_64:
2650+ IsBaseFound = AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx,
2651+ " 4.2.1" ,
2652+ " i686-apple-darwin10" ,
2653+ arch == llvm::Triple::x86_64 ? " x86_64" : " " );
2654+ IsBaseFound |= AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx,
2655+ " 4.0.0" , " i686-apple-darwin8" ,
2656+ " " );
2657+ break ;
26602658
2661- llvm::Triple::ArchType arch = getTriple ().getArch ();
2662- bool IsBaseFound = true ;
2663- switch (arch) {
2664- default :
2665- break ;
2659+ case llvm::Triple::arm:
2660+ case llvm::Triple::thumb:
2661+ IsBaseFound = AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx,
2662+ " 4.2.1" ,
2663+ " arm-apple-darwin10" ,
2664+ " v7" );
2665+ IsBaseFound |= AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx,
2666+ " 4.2.1" ,
2667+ " arm-apple-darwin10" ,
2668+ " v6" );
2669+ break ;
26662670
2667- case llvm::Triple::x86:
2668- case llvm::Triple::x86_64:
2669- IsBaseFound = AddGnuCPlusPlusIncludePaths (
2670- DriverArgs, CC1Args, UsrIncludeCxx, " 4.2.1" , " i686-apple-darwin10" ,
2671- arch == llvm::Triple::x86_64 ? " x86_64" : " " );
2672- IsBaseFound |= AddGnuCPlusPlusIncludePaths (
2673- DriverArgs, CC1Args, UsrIncludeCxx, " 4.0.0" , " i686-apple-darwin8" , " " );
2674- break ;
2671+ case llvm::Triple::aarch64:
2672+ IsBaseFound = AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx,
2673+ " 4.2.1" ,
2674+ " arm64-apple-darwin10" ,
2675+ " " );
2676+ break ;
2677+ }
26752678
2676- case llvm::Triple::arm:
2677- case llvm::Triple::thumb:
2678- IsBaseFound =
2679- AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx, " 4.2.1" ,
2680- " arm-apple-darwin10" , " v7" );
2681- IsBaseFound |=
2682- AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx, " 4.2.1" ,
2683- " arm-apple-darwin10" , " v6" );
2684- break ;
2679+ if (!IsBaseFound) {
2680+ getDriver ().Diag (diag::warn_drv_libstdcxx_not_found);
2681+ }
26852682
2686- case llvm::Triple::aarch64:
2687- IsBaseFound =
2688- AddGnuCPlusPlusIncludePaths (DriverArgs, CC1Args, UsrIncludeCxx, " 4.2.1" ,
2689- " arm64-apple-darwin10" , " " );
26902683 break ;
26912684 }
2692-
2693- if (!IsBaseFound) {
2694- getDriver ().Diag (diag::warn_drv_libstdcxx_not_found);
2695- }
26962685}
26972686
2698- void AppleMachO ::AddCXXStdlibLibArgs (const ArgList &Args,
2699- ArgStringList &CmdArgs) const {
2687+ void DarwinClang ::AddCXXStdlibLibArgs (const ArgList &Args,
2688+ ArgStringList &CmdArgs) const {
27002689 CXXStdlibType Type = GetCXXStdlibType (Args);
27012690
27022691 switch (Type) {
@@ -3632,7 +3621,7 @@ SanitizerMask Darwin::getSupportedSanitizers() const {
36323621 return Res;
36333622}
36343623
3635- void AppleMachO ::printVerboseInfo (raw_ostream &OS) const {
3624+ void Darwin ::printVerboseInfo (raw_ostream &OS) const {
36363625 CudaInstallation->print (OS);
36373626 RocmInstallation->print (OS);
36383627}
0 commit comments