LGTM. Regarding your comment, vector of pointers are in theory possible, but the rest of the code doesn't handle that, so I wouldn't worry with that. http://llvm-reviews.chandlerc.com/D1463