diff options
author | John McCall <rjmccall@apple.com> | 2010-12-05 02:00:02 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-12-05 02:00:02 +0000 |
commit | 2a41637a995affa1563f4d82a8b026e326a2faa0 (patch) | |
tree | 721f477e4c3c69354d9d4365bd5bc124b493c64c /lib/CodeGen/CGObjC.cpp | |
parent | 560bf12e97773ba19e55382c32f8b64cd8315315 (diff) |
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++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120931 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjC.cpp')
-rw-r--r-- | lib/CodeGen/CGObjC.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index b7a6224000..91042dae4b 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/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(); |