Fix for cases where valid lvalues were not being computed.

This commit is contained in:
james.brodman
2013-05-03 12:12:42 -04:00
parent 4d241736f0
commit 5af2f80bc5
2 changed files with 69 additions and 3 deletions

4
expr.h
View File

@@ -249,7 +249,9 @@ public:
bool isLaunch = false, Expr *launchCountExpr = NULL);
llvm::Value *GetValue(FunctionEmitContext *ctx) const;
llvm::Value *GetLValue(FunctionEmitContext *ctx) const;
const Type *GetType() const;
const Type *GetLValueType() const;
void Print() const;
Expr *Optimize();
@@ -505,7 +507,9 @@ public:
TypeCastExpr(const Type *t, Expr *e, SourcePos p);
llvm::Value *GetValue(FunctionEmitContext *ctx) const;
llvm::Value *GetLValue(FunctionEmitContext *ctx) const;
const Type *GetType() const;
const Type *GetLValueType() const;
void Print() const;
Expr *TypeCheck();
Expr *Optimize();