[cfe-commits] r108807 - in /cfe/trunk: include/clang/AST/ lib/AST/ lib/CodeGen/ lib/Frontend/ lib/Rewrite/ lib/Sema/
Sean Hunt
rideau3 at gmail.com
Mon Jul 19 23:19:49 PDT 2010
On 07/19/2010 10:20 PM, Sebastian Redl wrote:
> Author: cornedbee
> Date: Mon Jul 19 23:20:21 2010
> New Revision: 108807
>
> URL: http://llvm.org/viewvc/llvm-project?rev=108807&view=rev
> Log:
> Update ImplicitCastExpr to be able to represent an XValue.
>
> Modified:
> cfe/trunk/include/clang/AST/Expr.h
> cfe/trunk/lib/AST/ASTImporter.cpp
> cfe/trunk/lib/AST/Expr.cpp
> cfe/trunk/lib/AST/ExprClassification.cpp
> cfe/trunk/lib/AST/StmtDumper.cpp
> cfe/trunk/lib/AST/StmtProfile.cpp
> cfe/trunk/lib/CodeGen/CGExprScalar.cpp
> cfe/trunk/lib/CodeGen/CGObjC.cpp
> cfe/trunk/lib/Frontend/PCHReaderStmt.cpp
> cfe/trunk/lib/Frontend/PCHWriterStmt.cpp
> cfe/trunk/lib/Rewrite/RewriteObjC.cpp
> cfe/trunk/lib/Sema/Sema.cpp
> cfe/trunk/lib/Sema/Sema.h
> cfe/trunk/lib/Sema/SemaDecl.cpp
> cfe/trunk/lib/Sema/SemaDeclCXX.cpp
> cfe/trunk/lib/Sema/SemaExpr.cpp
> cfe/trunk/lib/Sema/SemaExprCXX.cpp
> cfe/trunk/lib/Sema/SemaInit.cpp
> cfe/trunk/lib/Sema/SemaInit.h
> cfe/trunk/lib/Sema/SemaOverload.cpp
> cfe/trunk/lib/Sema/SemaTemplate.cpp
>
> Modified: cfe/trunk/include/clang/AST/Expr.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=108807&r1=108806&r2=108807&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/AST/Expr.h (original)
> +++ cfe/trunk/include/clang/AST/Expr.h Mon Jul 19 23:20:21 2010
> @@ -258,7 +258,6 @@
> /// function returning an rvalue reference.
> /// lvalues and xvalues are collectively referred to as glvalues, while
> /// prvalues and xvalues together form rvalues.
> - /// If a
> Classification Classify(ASTContext&Ctx) const {
> return ClassifyImpl(Ctx, 0);
> }
> @@ -2045,24 +2044,33 @@
> ///
> /// In C, implicit casts always produce rvalues. However, in C++, an
> /// implicit cast whose result is being bound to a reference will be
> -/// an lvalue. For example:
> +/// an lvalue or xvalue. For example:
Should this say glvalue?
> /// }
> /// @endcode
> class ImplicitCastExpr : public CastExpr {
> - /// LvalueCast - Whether this cast produces an lvalue.
> - bool LvalueCast;
> +public:
> + enum ResultCategory {
> + RValue, LValue, XValue
> + };
Why not PRValue?
Sean
More information about the cfe-commits
mailing list