[all-commits] [llvm/llvm-project] 901cc4: Debug Info: Nest Objective-C property function dec...
adrian-prantl via All-commits
all-commits at lists.llvm.org
Fri Nov 8 15:14:06 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 901cc4a4bc5257d100338e6c318b96b022d554ee
https://github.com/llvm/llvm-project/commit/901cc4a4bc5257d100338e6c318b96b022d554ee
Author: Adrian Prantl <aprantl at apple.com>
Date: 2019-11-08 (Fri, 08 Nov 2019)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/CodeGenObjC/debug-info-objc-property-dwarf5.m
Log Message:
-----------
Debug Info: Nest Objective-C property function decls inside their container.
This has the nice side-effect of also fixing a crash in Clang.
Starting with DWARF 5 we are emitting ObjC method declarations as
children of their containing entity. This worked for interfaces, but
didn't consider the case of synthessized properties. When a property
of a protocol is synthesized in an interface implementation the
ObjCMethodDecl that was passed to CGF::StartFunction was the property
*declaration* which obviously couldn't have a containing
interface. This patch passes the containing interface all the way
through to CGDebugInfo, so the function declaration can be created
with the correct parent (= the class implementing the protocol).
rdar://problem/53782400
Differential Revision: https://reviews.llvm.org/D66121
More information about the All-commits
mailing list