@@ -1178,10 +1178,17 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
11781178 return *cxxStdlibType;
11791179}
11801180
1181+ // / Utility function to add a system framework directory to CC1 arguments.
1182+ void ToolChain::addSystemFrameworkInclude (const llvm::opt::ArgList &DriverArgs,
1183+ llvm::opt::ArgStringList &CC1Args,
1184+ const Twine &Path) {
1185+ CC1Args.push_back (" -internal-iframework" );
1186+ CC1Args.push_back (DriverArgs.MakeArgString (Path));
1187+ }
1188+
11811189// / Utility function to add a system include directory to CC1 arguments.
1182- /* static*/ void ToolChain::addSystemInclude (const ArgList &DriverArgs,
1183- ArgStringList &CC1Args,
1184- const Twine &Path) {
1190+ void ToolChain::addSystemInclude (const ArgList &DriverArgs,
1191+ ArgStringList &CC1Args, const Twine &Path) {
11851192 CC1Args.push_back (" -internal-isystem" );
11861193 CC1Args.push_back (DriverArgs.MakeArgString (Path));
11871194}
@@ -1194,9 +1201,9 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
11941201// / "C" semantics. These semantics are *ignored* by and large today, but its
11951202// / important to preserve the preprocessor changes resulting from the
11961203// / classification.
1197- /* static */ void ToolChain::addExternCSystemInclude (const ArgList &DriverArgs,
1198- ArgStringList &CC1Args,
1199- const Twine &Path) {
1204+ void ToolChain::addExternCSystemInclude (const ArgList &DriverArgs,
1205+ ArgStringList &CC1Args,
1206+ const Twine &Path) {
12001207 CC1Args.push_back (" -internal-externc-isystem" );
12011208 CC1Args.push_back (DriverArgs.MakeArgString (Path));
12021209}
@@ -1208,19 +1215,28 @@ void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs,
12081215 addExternCSystemInclude (DriverArgs, CC1Args, Path);
12091216}
12101217
1218+ // / Utility function to add a list of system framework directories to CC1.
1219+ void ToolChain::addSystemFrameworkIncludes (const ArgList &DriverArgs,
1220+ ArgStringList &CC1Args,
1221+ ArrayRef<StringRef> Paths) {
1222+ for (const auto &Path : Paths) {
1223+ CC1Args.push_back (" -internal-iframework" );
1224+ CC1Args.push_back (DriverArgs.MakeArgString (Path));
1225+ }
1226+ }
1227+
12111228// / Utility function to add a list of system include directories to CC1.
1212- /* static */ void ToolChain::addSystemIncludes (const ArgList &DriverArgs,
1213- ArgStringList &CC1Args,
1214- ArrayRef<StringRef> Paths) {
1229+ void ToolChain::addSystemIncludes (const ArgList &DriverArgs,
1230+ ArgStringList &CC1Args,
1231+ ArrayRef<StringRef> Paths) {
12151232 for (const auto &Path : Paths) {
12161233 CC1Args.push_back (" -internal-isystem" );
12171234 CC1Args.push_back (DriverArgs.MakeArgString (Path));
12181235 }
12191236}
12201237
1221- /* static*/ std::string ToolChain::concat (StringRef Path, const Twine &A,
1222- const Twine &B, const Twine &C,
1223- const Twine &D) {
1238+ std::string ToolChain::concat (StringRef Path, const Twine &A, const Twine &B,
1239+ const Twine &C, const Twine &D) {
12241240 SmallString<128 > Result (Path);
12251241 llvm::sys::path::append (Result, llvm::sys::path::Style::posix, A, B, C, D);
12261242 return std::string (Result);
0 commit comments