Sent from my iPhone
On Jul 29, 2011, at 7:02 PM, Eli Friedman <[email protected]> wrote: > On Fri, Jul 29, 2011 at 1:21 PM, Douglas Gregor <[email protected]> wrote: >> Author: dgregor >> Date: Fri Jul 29 15:21:18 2011 >> New Revision: 136507 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=136507&view=rev >> Log: >> On Darwin, libc++ may be installed alongside the compiler in >> lib/c++/v1. Look there first, before falling back to the normal >> /usr/include/c++/v1. <rdar://problem/9866149> >> >> Modified: >> cfe/trunk/lib/Frontend/InitHeaderSearch.cpp >> >> Modified: cfe/trunk/lib/Frontend/InitHeaderSearch.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitHeaderSearch.cpp?rev=136507&r1=136506&r2=136507&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Frontend/InitHeaderSearch.cpp (original) >> +++ cfe/trunk/lib/Frontend/InitHeaderSearch.cpp Fri Jul 29 15:21:18 2011 >> @@ -940,8 +940,24 @@ >> const llvm::Triple >> &triple, >> const HeaderSearchOptions >> &HSOpts) { >> if (Lang.CPlusPlus && HSOpts.UseStandardCXXIncludes) { >> - if (HSOpts.UseLibcxx) >> + if (HSOpts.UseLibcxx) { >> + if (triple.isOSDarwin()) { >> + // On Darwin, libc++ may be installed alongside the compiler in >> + // lib/c++/v1. >> + llvm::sys::Path P(HSOpts.ResourceDir); >> + if (!P.isEmpty()) { >> + P.eraseComponent(); // Remove version from foo/lib/clang/version >> + P.eraseComponent(); // Remove clang from foo/lib/clang >> + >> + // Get foo/lib/c++/v1 >> + P.appendComponent("c++"); >> + P.appendComponent("v1"); >> + AddPath(P.str(), CXXSystem, true, false, false, true); >> + } >> + } >> + >> AddPath("/usr/include/c++/v1", CXXSystem, true, false, false); >> + } >> else >> AddDefaultCPlusPlusIncludePaths(triple, HSOpts); >> } > > Is there any particular reason to restrict this to Darwin? I didn't want to speak for any other OS's, but I'd be happy to generalize it if people agree that this is the right thing to do. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
