[PATCH] D48241: [DebugInfo] Emit ObjC methods as part of interface.

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 15 17:22:14 PDT 2018


aprantl added inline comments.


================
Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:4250
+
+      SmallVector<llvm::Metadata *, 16> EltTys;
+      EltTys.append(InterfaceDecl->getElements().begin(),
----------------
```
auto &Elements = InterfaceDecl->getElements();
EltTys.append(Elements.begin(), Elements.end());
for (auto &M : p.second)
   EltTys.push_back(M.DIMethodDecl);
```


================
Comment at: clang/lib/CodeGen/CGDebugInfo.h:106
+
+  /// Cache of forward declarations for method
+  llvm::DenseMap<const ObjCInterfaceDecl *, std::vector<ObjCMethodCacheEntry>>
----------------
looks like that comment is cut off at the end?


================
Comment at: clang/test/CodeGenObjC/debug-info-category.m:41
+// DWARF4-NOT: = !DISubprogram(name: "-[Foo integer:]"{{.*}}isDefinition: false
+// DWARF4-NOT: = !DISubprogram(name: "-[Foo(Bar) add:]"{{.*}}isDefinition: false
+
----------------
Shouldn't you also check the scope: of the DISubprograms?


https://reviews.llvm.org/D48241





More information about the llvm-commits mailing list