I was recently looking at a binary where a TAG_subprogram didn't fall in its parent range. The dwarfdump that ships with Darwin was able to detect this, while LLVM's version didn't. This patch adds this verification.
I'm looking on input how best to test this. It seems to be currently tested in the unit tests with YAML input. I I have an object file of a minimal example, generated with an old compiler. However, just the DWARF corresponds to about 700 lines of YAML, which I'm afraid is not really appropriate for a unit tests.