Mercurial > hg > CbC > CbC_llvm
view clang/test/CodeGenObjC/debug-info-nodebug.m @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -debug-info-kind=limited -fblocks %s -o - | FileCheck %s // Objective-C code cargo-culted from debug-info-lifetime-crash.m. @protocol NSObject - (id)copy; @end @class W; @interface View1 @end @implementation Controller { void (^Block)(void); } - (void)View:(View1 *)View foo:(W *)W { // The reference from inside the block implicitly creates another // local variable for the referenced member. That is what gets // suppressed by the attribute. It still gets debug info as a // member, though. // CHECK-NOT: !DILocalVariable(name: "weakSelf" // CHECK: !DIDerivedType({{.*}} name: "weakSelf" // CHECK-NOT: !DILocalVariable(name: "weakSelf" __attribute__((nodebug)) __typeof(self) weakSelf = self; Block = [^{ __typeof(self) strongSelf = weakSelf; } copy]; } @end