summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjC.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-12-05 02:00:02 +0000
committerJohn McCall <rjmccall@apple.com>2010-12-05 02:00:02 +0000
commita2342eb8574e4f5ef455424a02c24feb8ce8b2a1 (patch)
tree05648d6f71d06f249dff5f424f1b2e7239a8dc28 /clang/lib/CodeGen/CGObjC.cpp
parent77a11c6174d506f4adfb10a5e4d38606244dad69 (diff)
downloadbcm5719-llvm-a2342eb8574e4f5ef455424a02c24feb8ce8b2a1.tar.gz
bcm5719-llvm-a2342eb8574e4f5ef455424a02c24feb8ce8b2a1.zip
Fix a bug in the emission of __real/__imag l-values on scalar operands.
Fix a bug in the emission of complex compound assignment l-values. Introduce a method to emit an expression whose value isn't relevant. Make that method evaluate its operand as an l-value if it is one. Fixes our volatile compliance in C++. llvm-svn: 120931
Diffstat (limited to 'clang/lib/CodeGen/CGObjC.cpp')
-rw-r--r--clang/lib/CodeGen/CGObjC.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp
index b7a6224000c..91042dae4b3 100644
--- a/clang/lib/CodeGen/CGObjC.cpp
+++ b/clang/lib/CodeGen/CGObjC.cpp
@@ -386,8 +386,7 @@ void CodeGenFunction::GenerateObjCSetter(ObjCImplementationDecl *IMP,
FunctionType::ExtInfo()),
GetCopyStructFn, ReturnValueSlot(), Args);
} else if (PID->getSetterCXXAssignment()) {
- EmitAnyExpr(PID->getSetterCXXAssignment(), AggValueSlot::ignored(), true);
-
+ EmitIgnoredExpr(PID->getSetterCXXAssignment());
} else {
// FIXME: Find a clean way to avoid AST node creation.
SourceLocation Loc = PD->getLocation();
OpenPOWER on IntegriCloud