Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix DITemplateTypeParameter and DITemplateValueParameter
Tested and working on a _very_ large C++ program. Fixes #43, text copied from that issue: -------------------------------------------------------- Okay, this particular node has an especially twisted history. 0. [Feb 12, 2015](llvm-mirror/llvm@8921bbc): `MDTemplateTypeParameter` lands. It's fields have type i. `Num` ii. `Maybe PValMd` iii. `MDString` iv. `Maybe PValMd` v. `Maybe PValMd` 1. [Feb 18, 2015](llvm-mirror/llvm@eac950e ): The last field, "scope", was dropped, and the type of the second field was made into a `MDString`. 2. [Apr 23, 2016](llvm-mirror/llvm@de74840): Removal of MDString-based references (see #39). Third field is made into a `DITypeRef`. Interestingly, at no point in this process does the field only have three fields, [as it does in the AST](https://github.com/elliottt/llvm-pretty/blob/de881be8e97bc085150d816d359599d75ad3ac9b/src/Text/LLVM/AST.hs#L1100). The biggest flaw I'm seeing is that the first field of the record _is not a reference_, but it is looked up as if it is one. This is causing the parser to crash, because the reference is not defined.
- Loading branch information