> On Nov 19, 2015, at 4:12 PM, Justin Bogner <[email protected]> wrote:
>
> Chris Bieneman <[email protected] <mailto:[email protected]>> 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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits