summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2019-11-21 09:56:01 -0800
committerAdrian Prantl <aprantl@apple.com>2019-11-21 11:01:10 -0800
commite0cabe280b80ab71045d90b2d6f1a70e5d4c5d05 (patch)
tree0f0083789307c6519a1504b58c7fda5edc608ebb /clang/lib/CodeGen/CGDebugInfo.h
parentab411801b82783eb7f652701ccfce81b16cf1811 (diff)
downloadbcm5719-llvm-e0cabe280b80ab71045d90b2d6f1a70e5d4c5d05.tar.gz
bcm5719-llvm-e0cabe280b80ab71045d90b2d6f1a70e5d4c5d05.zip
Debug info: Emit objc_direct methods as members of their containing class
even in DWARF 4 and earlier. This allows the debugger to recognize them as direct functions as opposed to Objective-C methods. <rdar://problem/57327663> Differential Revision: https://reviews.llvm.org/D70544
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.h')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.h b/clang/lib/CodeGen/CGDebugInfo.h
index 5341bfa7f35..13e9c7a38fc 100644
--- a/clang/lib/CodeGen/CGDebugInfo.h
+++ b/clang/lib/CodeGen/CGDebugInfo.h
@@ -114,7 +114,10 @@ class CGDebugInfo {
llvm::SmallVector<ObjCInterfaceCacheEntry, 32> ObjCInterfaceCache;
/// Cache of forward declarations for methods belonging to the interface.
- llvm::DenseMap<const ObjCInterfaceDecl *, std::vector<llvm::DISubprogram *>>
+ /// The extra bit on the DISubprogram specifies whether a method is
+ /// "objc_direct".
+ llvm::DenseMap<const ObjCInterfaceDecl *,
+ std::vector<llvm::PointerIntPair<llvm::DISubprogram *, 1>>>
ObjCMethodCache;
/// Cache of references to clang modules and precompiled headers.
OpenPOWER on IntegriCloud