Thanks Bob. Committed in r228413.

Steven

> On Feb 5, 2015, at 10:55 PM, Bob Wilson <[email protected]> wrote:
> 
> 
>> On Feb 3, 2015, at 1:30 PM, David Blaikie <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>> 
>> On Tue, Feb 3, 2015 at 1:23 PM, Steven Wu <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Hi David
>> 
>> Sorry I dropped you from the previous update. Does the updated patch look ok 
>> now?
>> 
>> Code looks fine (I still like range-for loops more, but probably would need 
>> to have a "filter" function that returns a range to make that convenient 
>> enough to bother using here, rather than having to build a range from the 
>> result) - but I don't know anything about the semantics here so I'll leave 
>> it to someone who knows about frameworks & their flags to sign off on the 
>> semantics of this change.
>> 
>> - David
> 
> Yes, the semantics look right. (The only difference between clang’s -F and 
> -iframework options is whether the directory is treated as containing user 
> vs. system frameworks. The linker does not make a distinction between those, 
> so both kinds of directories should be passed to the linker with -F. The 
> current behavior of ignoring the -iframework option when linking is pretty 
> horribly broken.)
> 
> This is fine to commit.
> 
>>  
>> 
>> Thanks
>> 
>> Steven
>> 
>>> On Jan 21, 2015, at 12:50 PM, Steven Wu <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> - Format fix
>>> 
>>>  The extra braces are bad so I get rid of them. The range loop doesn't make 
>>> thing better because of the long variable names. I happily switch to auto 
>>> but keep my original loop structure.
>>> 
>>> 
>>> http://reviews.llvm.org/D7106 <http://reviews.llvm.org/D7106>
>>> 
>>> Files:
>>>  lib/Driver/Tools.cpp
>>>  test/Driver/darwin-ld.c
>>> 
>>> Index: lib/Driver/Tools.cpp
>>> ===================================================================
>>> --- lib/Driver/Tools.cpp
>>> +++ lib/Driver/Tools.cpp
>>> @@ -5964,6 +5964,12 @@
>>>   Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
>>>   Args.AddAllArgs(CmdArgs, options::OPT_F);
>>> 
>>> +  // -iframework should be forwarded as -F.
>>> +  for (auto it = Args.filtered_begin(options::OPT_iframework),
>>> +         ie = Args.filtered_end(); it != ie; ++it)
>>> +    CmdArgs.push_back(Args.MakeArgString(std::string("-F") +
>>> +                                         (*it)->getValue()));
>>> +
>>>   const char *Exec =
>>>     Args.MakeArgString(getToolChain().GetLinkerPath());
>>>   std::unique_ptr<Command> Cmd =
>>> Index: test/Driver/darwin-ld.c
>>> ===================================================================
>>> --- test/Driver/darwin-ld.c
>>> +++ test/Driver/darwin-ld.c
>>> @@ -204,3 +204,9 @@
>>> // RUN: FileCheck -check-prefix=LINK_IOS_SIMULATOR_VERSION_MIN %s < %t.log
>>> // LINK_IPHONEOS_VERSION_MIN: -iphoneos_version_min
>>> // LINK_IOS_SIMULATOR_VERSION_MIN: -ios_simulator_version_min
>>> +
>>> +// Check -iframework gets forward to ld as -F
>>> +// RUN: %clang -target x86_64-apple-darwin %s -iframework Bar -framework 
>>> Foo -### 2>&1 | \
>>> +// RUN:   FileCheck --check-prefix=LINK-IFRAMEWORK %s
>>> +// LINK-IFRAMEWORK: {{ld(.exe)?"}}
>>> +// LINK-IFRAMEWORK: "-FBar"
>>> 
>>> EMAIL PREFERENCES
>>>  http://reviews.llvm.org/settings/panel/emailpreferences/ 
>>> <http://reviews.llvm.org/settings/panel/emailpreferences/>
>>> <D7106.18548.patch>
>> 
>> 
> 

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to