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
Loading
Please sign in to comment