> On Nov 19, 2015, at 4:12 PM, Justin Bogner <m...@justinbogner.com> wrote: > > Chris Bieneman <be...@apple.com <mailto:be...@apple.com>> writes: >> beanz created this revision. >> beanz added a reviewer: bogner. >> beanz added a subscriber: cfe-commits. >> >> This code is a bit undesirable, but it gets clang to work with the >> autoconf and cmake-built libclang_rt.profile libraries. > > Yeah, this is a bit awkward, but it makes sense for the transition > period. LGTM with a couple of nits. > >> http://reviews.llvm.org/D14847 >> >> Files: >> lib/Driver/ToolChains.cpp >> >> Index: lib/Driver/ToolChains.cpp >> =================================================================== >> --- lib/Driver/ToolChains.cpp >> +++ lib/Driver/ToolChains.cpp >> @@ -323,21 +323,35 @@ >> ArgStringList &CmdArgs) const { >> if (!needsProfileRT(Args)) return; >> >> + // TODO: Clean this up once autoconf is gone >> + SmallString<128> P(getDriver().ResourceDir); >> + llvm::sys::path::append(P, "lib", "darwin"); >> + auto library = "libclang_rt.profile_osx.a"; > > Did you just use auto for a 'const char *'? I don't think its worth the > saved keystrokes. Also, the variable should be named "Library”.
I optimize for keystrokes, and that is more than 2x as many characters! I’ll update and commit :-) -Chris > >> + >> // Select the appropriate runtime library for the target. >> - if (isTargetWatchOSBased()) { >> - AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_watchos.a", >> - /*AlwaysLink*/ true); >> - } else if (isTargetTvOSBased()) { >> - AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_tvos.a", >> - /*AlwaysLink*/ true); >> - } else if (isTargetIOSBased()) { >> - AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_ios.a", >> - /*AlwaysLink*/ true); >> + if (isTargetWatchOS()) { >> + library = "libclang_rt.profile_watchos.a"; >> + } else if (isTargetWatchOSSimulator()) { >> + llvm::sys::path::append(P, "libclang_rt.profile_watchossim.a"); >> + library = getVFS().exists(P) ? "libclang_rt.profile_watchossim.a" >> + : "libclang_rt.profile_watchos.a"; >> + } else if (isTargetTvOS()) { >> + library = "libclang_rt.profile_tvos.a"; >> + } else if (isTargetTvOSSimulator()) { >> + llvm::sys::path::append(P, "libclang_rt.profile_tvossim.a"); >> + library = getVFS().exists(P) ? "libclang_rt.profile_tvossim.a" >> + : "libclang_rt.profile_tvos.a"; >> + } else if (isTargetIPhoneOS()) { >> + library = "libclang_rt.profile_ios.a"; >> + } else if (isTargetIOSSimulator()) { >> + llvm::sys::path::append(P, "libclang_rt.profile_iossim.a"); >> + library = getVFS().exists(P) ? "libclang_rt.profile_iossim.a" >> + : "libclang_rt.profile_ios.a"; >> } else { >> assert(isTargetMacOS() && "unexpected non MacOS platform"); >> - AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.profile_osx.a", >> - /*AlwaysLink*/ true); >> } >> + AddLinkRuntimeLib(Args, CmdArgs, library, >> + /*AlwaysLink*/ true); >> return; >> }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits