summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGClass.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-06-16 04:16:24 +0000
committerJohn McCall <rjmccall@apple.com>2011-06-16 04:16:24 +0000
commit1553b190672de2c270acd981ce760539ae172bd5 (patch)
treed296495fd37dd8c9b3db61f668bf81467e3cddff /clang/lib/CodeGen/CGClass.cpp
parent30f3210242c3291a4bc00ff22b46f58721e25923 (diff)
downloadbcm5719-llvm-1553b190672de2c270acd981ce760539ae172bd5.tar.gz
bcm5719-llvm-1553b190672de2c270acd981ce760539ae172bd5.zip
Restore correct use of GC barriers.
llvm-svn: 133144
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
-rw-r--r--clang/lib/CodeGen/CGClass.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp
index 066f0d5c7d7..77a5be6c966 100644
--- a/clang/lib/CodeGen/CGClass.cpp
+++ b/clang/lib/CodeGen/CGClass.cpp
@@ -430,10 +430,8 @@ static void EmitAggMemberInitializer(CodeGenFunction &CGF,
}
if (!CGF.hasAggregateLLVMType(T)) {
- CGF.EmitScalarInit(MemberInit->getInit(), 0, Dest, false,
- LHS.isVolatileQualified(),
- CGF.getContext().getTypeAlign(T),
- T);
+ LValue lvalue = CGF.MakeAddrLValue(Dest, T);
+ CGF.EmitScalarInit(MemberInit->getInit(), /*decl*/ 0, lvalue, false);
} else if (T->isAnyComplexType()) {
CGF.EmitComplexExprIntoAddr(MemberInit->getInit(), Dest,
LHS.isVolatileQualified());
@@ -555,8 +553,7 @@ static void EmitMemberInitializer(CodeGenFunction &CGF,
CGF.EmitNullInitialization(LHS.getAddress(), Field->getType());
} else if (!CGF.hasAggregateLLVMType(Field->getType())) {
if (LHS.isSimple()) {
- CGF.EmitExprAsInit(MemberInit->getInit(), Field, LHS.getAddress(),
- CGF.getContext().getDeclAlign(Field), false);
+ CGF.EmitExprAsInit(MemberInit->getInit(), Field, LHS, false);
} else {
RValue RHS = RValue::get(CGF.EmitScalarExpr(MemberInit->getInit()));
CGF.EmitStoreThroughLValue(RHS, LHS, FieldType);
OpenPOWER on IntegriCloud