|  | // RUN: %clang_cc1 -emit-llvm -debug-info-kind=standalone -dwarf-version=5 %s -o - | FileCheck %s | 
|  |  | 
|  | @protocol NSObject | 
|  | @end | 
|  |  | 
|  | @interface NSObject <NSObject> {} | 
|  | @end | 
|  |  | 
|  | struct Bar {}; | 
|  |  | 
|  | @protocol BarProto | 
|  | @property struct Bar *bar; | 
|  | @end | 
|  |  | 
|  | @interface Foo <BarProto> | 
|  | @end | 
|  |  | 
|  | @implementation Foo {} | 
|  | @synthesize bar = _bar; | 
|  | - (void)f {} | 
|  | @end | 
|  |  | 
|  | // CHECK: ![[FOO:[0-9]+]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Foo" | 
|  |  | 
|  | // CHECK: ![[DECL:[0-9]+]] = !DISubprogram(name: "-[Foo setBar:]", | 
|  | // CHECK-SAME:  scope: ![[FOO]] | 
|  |  | 
|  | // CHECK: distinct !DISubprogram(name: "-[Foo setBar:]", | 
|  | // CHECK-SAME:  declaration: ![[DECL:[0-9]+]] |