On Mar 10, 2012, at 2:26 PM, Douglas Gregor wrote: > On Mar 10, 2012, at 11:48 AM, John McCall wrote: >> On Mar 9, 2012, at 3:30 PM, Douglas Gregor wrote: >>> On Mar 7, 2012, at 6:55 PM, John McCall wrote: >>>> On Mar 7, 2012, at 6:39 PM, Douglas Gregor wrote: >>>>> On Mar 7, 2012, at 6:33 PM, John McCall wrote: >>>>>> On Feb 22, 2012, at 9:32 AM, Douglas Gregor wrote: >>>>>>> Author: dgregor >>>>>>> Date: Wed Feb 22 11:32:19 2012 >>>>>>> New Revision: 151170 >>>>>>> >>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=151170&view=rev >>>>>>> Log: >>>>>>> Teach overload resolution to prefer user-defined conversion via a >>>>>>> lambda closure type's function pointer conversion over user-defined >>>>>>> conversion via a lambda closure type's block pointer conversion, >>>>>>> always. This is a preference for more-standard code (since blocks >>>>>>> are an extension) and a nod to efficiency, since function pointers >>>>>>> don't require any memory management. Fixes PR12063. >>>>>> >>>>>> Why does this have anything to do with Objective-C? >>>>>> Blocks are a C extension. >>>>> >>>>> The memory-management model for the conversion to block pointer is >>>>> retain+autorelease. Since we don't have an 'autorelease' equivalent in >>>>> C-with-blocks, we opted to omit the block pointer conversion rather than >>>>> invent another memory-management scheme. >>>>> >>>>> Yes, we could probably come up with another solution, but IMO the user >>>>> base for C++11-with-blocks-and-lambdas that isn't Objective-C++11 is too >>>>> small to bother inventing something now. >>>> >>>> Mmm, alright. Is this documented somewhere? >>> >>> r152446 >> >> Thanks! I guess by calling this an Objective-C extension, we're implicitly >> documenting that it's not available in C++-with-blocks. I think it's worth >> stating that explicitly, though. > > Seemed clear enough to me, but it's made explicit in r152511.
You know me, always wanting to beat the user over the head with this stuff. Thanks. John. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
