> 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

Reply via email to