diff options
author | Adrian Prantl <aprantl@apple.com> | 2019-11-21 09:56:01 -0800 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2019-11-21 11:01:10 -0800 |
commit | e0cabe280b80ab71045d90b2d6f1a70e5d4c5d05 (patch) | |
tree | 0f0083789307c6519a1504b58c7fda5edc608ebb /clang/lib/CodeGen/CGDebugInfo.h | |
parent | ab411801b82783eb7f652701ccfce81b16cf1811 (diff) | |
download | bcm5719-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.h | 5 |
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. |