Initialize AggValueSlot's flags along all paths, plus minor beautification.
Prospective fix for broken commit in r114045.
llvm-svn: 114060
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp
index d280711..bd773f2 100644
--- a/clang/lib/CodeGen/CGExprAgg.cpp
+++ b/clang/lib/CodeGen/CGExprAgg.cpp
@@ -39,7 +39,7 @@
// If the destination slot requires garbage collection, we can't
// use the real return value slot, because we have to use the GC
// API.
- if (Dest.isRequiresGCollection()) return ReturnValueSlot();
+ if (Dest.requiresGCollection()) return ReturnValueSlot();
return ReturnValueSlot(Dest.getAddr(), Dest.isVolatile());
}
@@ -177,7 +177,7 @@
/// directly into the return value slot. If GC does interfere, a final
/// move will be performed.
void AggExprEmitter::EmitGCMove(const Expr *E, RValue Src) {
- if (Dest.isRequiresGCollection()) {
+ if (Dest.requiresGCollection()) {
std::pair<uint64_t, unsigned> TypeInfo =
CGF.getContext().getTypeInfo(E->getType());
unsigned long size = TypeInfo.first/8;
@@ -210,7 +210,7 @@
Dest = CGF.CreateAggTemp(E->getType(), "agg.tmp");
}
- if (Dest.isRequiresGCollection()) {
+ if (Dest.requiresGCollection()) {
std::pair<uint64_t, unsigned> TypeInfo =
CGF.getContext().getTypeInfo(E->getType());
unsigned long size = TypeInfo.first/8;