@@ -1366,10 +1366,17 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
13661366 return *cxxStdlibType;
13671367}
13681368
1369+ // / Utility function to add a system framework directory to CC1 arguments.
1370+ void ToolChain::addSystemFrameworkInclude (const llvm::opt::ArgList &DriverArgs,
1371+ llvm::opt::ArgStringList &CC1Args,
1372+ const Twine &Path) {
1373+ CC1Args.push_back (" -internal-iframework" );
1374+ CC1Args.push_back (DriverArgs.MakeArgString (Path));
1375+ }
1376+
13691377// / Utility function to add a system include directory to CC1 arguments.
1370- /* static*/ void ToolChain::addSystemInclude (const ArgList &DriverArgs,
1371- ArgStringList &CC1Args,
1372- const Twine &Path) {
1378+ void ToolChain::addSystemInclude (const ArgList &DriverArgs,
1379+ ArgStringList &CC1Args, const Twine &Path) {
13731380 CC1Args.push_back (" -internal-isystem" );
13741381 CC1Args.push_back (DriverArgs.MakeArgString (Path));
13751382}
@@ -1382,9 +1389,9 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
13821389// / "C" semantics. These semantics are *ignored* by and large today, but its
13831390// / important to preserve the preprocessor changes resulting from the
13841391// / classification.
1385- /* static */ void ToolChain::addExternCSystemInclude (const ArgList &DriverArgs,
1386- ArgStringList &CC1Args,
1387- const Twine &Path) {
1392+ void ToolChain::addExternCSystemInclude (const ArgList &DriverArgs,
1393+ ArgStringList &CC1Args,
1394+ const Twine &Path) {
13881395 CC1Args.push_back (" -internal-externc-isystem" );
13891396 CC1Args.push_back (DriverArgs.MakeArgString (Path));
13901397}
@@ -1396,19 +1403,28 @@ void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs,
13961403 addExternCSystemInclude (DriverArgs, CC1Args, Path);
13971404}
13981405
1406+ // / Utility function to add a list of system framework directories to CC1.
1407+ void ToolChain::addSystemFrameworkIncludes (const ArgList &DriverArgs,
1408+ ArgStringList &CC1Args,
1409+ ArrayRef<StringRef> Paths) {
1410+ for (const auto &Path : Paths) {
1411+ CC1Args.push_back (" -internal-iframework" );
1412+ CC1Args.push_back (DriverArgs.MakeArgString (Path));
1413+ }
1414+ }
1415+
13991416// / Utility function to add a list of system include directories to CC1.
1400- /* static */ void ToolChain::addSystemIncludes (const ArgList &DriverArgs,
1401- ArgStringList &CC1Args,
1402- ArrayRef<StringRef> Paths) {
1417+ void ToolChain::addSystemIncludes (const ArgList &DriverArgs,
1418+ ArgStringList &CC1Args,
1419+ ArrayRef<StringRef> Paths) {
14031420 for (const auto &Path : Paths) {
14041421 CC1Args.push_back (" -internal-isystem" );
14051422 CC1Args.push_back (DriverArgs.MakeArgString (Path));
14061423 }
14071424}
14081425
1409- /* static*/ std::string ToolChain::concat (StringRef Path, const Twine &A,
1410- const Twine &B, const Twine &C,
1411- const Twine &D) {
1426+ std::string ToolChain::concat (StringRef Path, const Twine &A, const Twine &B,
1427+ const Twine &C, const Twine &D) {
14121428 SmallString<128 > Result (Path);
14131429 llvm::sys::path::append (Result, llvm::sys::path::Style::posix, A, B, C, D);
14141430 return std::string (Result);
0 commit comments