aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2009-05-26 22:03:21 +0000
committerMike Stump <mrs@apple.com>2009-05-26 22:03:21 +0000
commit49d1cd5a09ed3df353371fd7f206674a85e0fb45 (patch)
treea076a970c34ce0633615e4ef11df535a1573c6be /lib/CodeGen/CodeGenFunction.h
parent2f1735c643abfc7c18bf7d0ad95b716099d43ccf (diff)
Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72439 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r--lib/CodeGen/CodeGenFunction.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index 9a9ca05768..d87fbcdeb5 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -407,8 +407,10 @@ public:
/// any type. The result is returned as an RValue struct. If this is an
/// aggregate expression, the aggloc/agglocvolatile arguments indicate where
/// the result should be returned.
+ ///
+ /// \param IgnoreResult - True if the resulting value isn't used.
RValue EmitAnyExpr(const Expr *E, llvm::Value *AggLoc = 0,
- bool isAggLocVolatile = false);
+ bool isAggLocVolatile = false, bool IgnoreResult = false);
// EmitVAListRef - Emit a "reference" to a va_list; this is either the address
// or the value of the expression, depending on how va_list is defined.
@@ -741,7 +743,8 @@ public:
/// EmitAggExpr - Emit the computation of the specified expression of
/// aggregate type. The result is computed into DestPtr. Note that if
/// DestPtr is null, the value of the aggregate expression is not needed.
- void EmitAggExpr(const Expr *E, llvm::Value *DestPtr, bool VolatileDest);
+ void EmitAggExpr(const Expr *E, llvm::Value *DestPtr, bool VolatileDest,
+ bool IgnoreResult = false);
/// EmitComplexExpr - Emit the computation of the specified expression of
/// complex type, returning the result.