Block description for trivial block literals have
their 'isa' field scanned regardless. llvm-svn: 113749
This commit is contained in:
parent
9aae728ef6
commit
0aa35b9cf5
|
@ -1666,8 +1666,7 @@ llvm::Constant *CGObjCCommonMac::GCBlockLayout(CodeGen::CodeGenFunction &CGF,
|
|||
const llvm::SmallVectorImpl<const Expr *> &BlockLayout) {
|
||||
llvm::Constant *NullPtr =
|
||||
llvm::Constant::getNullValue(llvm::Type::getInt8PtrTy(VMContext));
|
||||
if ((CGM.getLangOptions().getGCMode() == LangOptions::NonGC) ||
|
||||
BlockLayout.empty())
|
||||
if (CGM.getLangOptions().getGCMode() == LangOptions::NonGC)
|
||||
return NullPtr;
|
||||
bool hasUnion = false;
|
||||
SkipIvars.clear();
|
||||
|
|
|
@ -123,6 +123,11 @@ void notifyBlock(id dependentBlock) {
|
|||
wrapperBlock();
|
||||
}
|
||||
|
||||
void test_empty_block() {
|
||||
void (^wrapperBlock)() = ^() {
|
||||
};
|
||||
wrapperBlock();
|
||||
}
|
||||
|
||||
// CHECK-LP64: L_OBJC_CLASS_NAME_:
|
||||
// CHECK-LP64-NEXT: .asciz "\0011\024"
|
||||
|
@ -141,3 +146,6 @@ void notifyBlock(id dependentBlock) {
|
|||
|
||||
// CHECK-LP64: L_OBJC_CLASS_NAME_16:
|
||||
// CHECK-LP64-NEXT: .asciz "\0013"
|
||||
|
||||
// CHECK-LP64: L_OBJC_CLASS_NAME_20:
|
||||
// CHECK-LP64-NEXT: .asciz "\001"
|
||||
|
|
Loading…
Reference in New Issue