[cfe-commits] r113962 - in /cfe/trunk: include/clang/AST/ lib/AST/ lib/CodeGen/ lib/Sema/ test/CodeGenCXX/ test/SemaCXX/

Sebastian Redl sebastian.redl at getdesigned.at
Wed Sep 15 10:06:14 PDT 2010


On Sep 15, 2010, at 3:14 AM, John McCall wrote:

> Author: rjmccall
> Date: Wed Sep 15 05:14:12 2010
> New Revision: 113962
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=113962&view=rev
> Log:
> one piece of code is responsible for the lifetime of every aggregate
> slot.  The easiest way to do that was to bundle up the information
> we care about for aggregate slots into a new structure which demands
> that its creators at least consider the question.
> 
> I could probably be convinced that the ObjC 'needs GC' bit should
> be rolled into this structure.
> Implement generalized copy elision

Does this mean we can finally finish our rvalue ref implementation?

> 
> Modified: cfe/trunk/lib/AST/Expr.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/Expr.cpp?rev=113962&r1=113961&r2=113962&view=diff
> ==============================================================================
> --- cfe/trunk/lib/AST/Expr.cpp (original)
> +++ cfe/trunk/lib/AST/Expr.cpp Wed Sep 15 05:14:12 2010
> @@ -1648,46 +1648,31 @@
> +  // pr-values of class type are always temporaries.
> +  if (!E->Classify(C).isPRValue()) return false;

Isn't this comment the wrong way around? Sure, both directions are valid, but given the pruning nature of the if, I would expect the comment to say that temporaries are always prvalues. (Thus, if the expression isn't, it can't be a temporary.)

Sebastian



More information about the cfe-commits mailing list