Applied in r109994, thanks! - Daniel
On Sat, Jul 31, 2010 at 9:38 AM, Jonathan Gray <[email protected]> wrote: > Update OpenBSD toolchain for changes in compiler and > add C++ bits while here. > > Index: lib/Frontend/InitHeaderSearch.cpp > =================================================================== > --- lib/Frontend/InitHeaderSearch.cpp (revision 109950) > +++ lib/Frontend/InitHeaderSearch.cpp (working copy) > @@ -728,6 +728,15 @@ AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tr > // FreeBSD 7.3 > AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2", "", "", "", triple); > break; > + case llvm::Triple::OpenBSD: > + { > + std::string t = triple.getTriple(); > + if (t.substr(0, 6) == "x86_64") > + t.replace(0, 6, "amd64"); > + AddGnuCPlusPlusIncludePaths("/usr/include/g++", > + t, "", "", triple); > + } > + break; > case llvm::Triple::Minix: > AddGnuCPlusPlusIncludePaths("/usr/gnu/include/c++/4.4.3", > "", "", "", triple); > Index: lib/Driver/Tools.cpp > =================================================================== > --- lib/Driver/Tools.cpp (revision 109950) > +++ lib/Driver/Tools.cpp (working copy) > @@ -633,6 +633,11 @@ void Clang::AddX86TargetArgs(const ArgList &Args, > CPUName = "x86-64"; > else if (getToolChain().getArchName() == "i386") > CPUName = "i586"; > + } else if (getToolChain().getOS().startswith("openbsd")) { > + if (getToolChain().getArchName() == "x86_64") > + CPUName = "x86-64"; > + else if (getToolChain().getArchName() == "i386") > + CPUName = "i486"; > } else { > if (getToolChain().getArchName() == "x86_64") > CPUName = "x86-64"; > @@ -2845,7 +2850,7 @@ void openbsd::Link::ConstructJob(Compilation &C, const > if (Triple.substr(0, 6) == "x86_64") > Triple.replace(0, 6, "amd64"); > CmdArgs.push_back(Args.MakeArgString("-L/usr/lib/gcc-lib/" + Triple + > - "/3.3.5")); > + "/4.2.1")); > > Args.AddAllArgs(CmdArgs, options::OPT_L); > Args.AddAllArgs(CmdArgs, options::OPT_T_Group); > @@ -2871,6 +2876,11 @@ void openbsd::Link::ConstructJob(Compilation &C, const > > if (!Args.hasArg(options::OPT_nostdlib) && > !Args.hasArg(options::OPT_nodefaultlibs)) { > + if (D.CCCIsCXX) { > + CmdArgs.push_back("-lstdc++"); > + CmdArgs.push_back("-lm"); > + } > + > // FIXME: For some reason GCC passes -lgcc before adding > // the default system libraries. Just mimic this for now. > CmdArgs.push_back("-lgcc"); > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
