[cfe-commits] r143399 - in /cfe/trunk: lib/CodeGen/CGBlocks.cpp lib/CodeGen/CGExpr.cpp test/CodeGenCXX/block-rvalue-reference-capture.cpp

Douglas Gregor dgregor at apple.com
Wed Nov 2 07:59:32 PDT 2011

On Nov 2, 2011, at 1:33 AM, John McCall wrote:

> On Oct 31, 2011, at 4:44 PM, Fariborz Jahanian wrote:
>> Author: fjahanian
>> Date: Mon Oct 31 18:44:33 2011
>> New Revision: 143399
>> URL: http://llvm.org/viewvc/llvm-project?rev=143399&view=rev
>> Log:
>> Adds IRGen support for captured rvalue references in blocks.
>> In this case, temporary value is copied into block descriptor
>> as their own copy to work on. // rdar://9971124
> Sorry for missing this earlier, but I really don't think is the right
> thing to do.  Block captures of l-value references capture a
> reference;  making block captures of r-value references capture
> a copy is bizarrely inconsistent.

What do you propose? Capture the reference, even though it's almost surely going to refer to a temporary?

	- Doug

More information about the cfe-commits mailing list