diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-20 20:17:07 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-03-20 20:17:07 +0000 |
commit | 00f9bf1c144ff624cae15dab893bcbff7c6bb4f8 (patch) | |
tree | 5f942a3512d3335729bef5e68a398fa4f7d16c36 /llvm/lib/CodeGen/StackMaps.cpp | |
parent | e9ad54b3ee905ea3a77c35ca7d6e843b2c552e0b (diff) | |
download | bcm5719-llvm-00f9bf1c144ff624cae15dab893bcbff7c6bb4f8.tar.gz bcm5719-llvm-00f9bf1c144ff624cae15dab893bcbff7c6bb4f8.zip |
DebugInfo: Require valid DIDescriptors
As part of PR22777, switch from `dyn_cast_or_null<>` to `cast<>` in most
`DIDescriptor` accessors. These classes are lightweight wrappers around
pointers, so the users should check for valid pointers before using
them.
This survives a Darwin clang -g bootstrap (after fixing testcases), but
it's possible the bots will complain about other configurations. I'll
fix any fallout as quickly as I can! Once this bakes for a bit I'll
remove the macros.
Note that `DebugLoc` implicitly gets stricter with this change as well,
since it forward to `DILocation`. Any code that's using `DebugLoc`
accessors should check `DebugLoc::isUnknown()` first. (BTW, I'm also
partway through a cleanup of the `DebugLoc` API to make it more obvious
what it is (a glorified pointer wrapper) and remove cruft from before
the Metadata/Value split. I'll commit soon.)
llvm-svn: 232844
Diffstat (limited to 'llvm/lib/CodeGen/StackMaps.cpp')
0 files changed, 0 insertions, 0 deletions