What's the difference between clang_createTranslationUnitFromSourceFile and clang_parseTranslationUnit? The latter obviously has an additional options parameter, but besides that, is there anything? Is parse a superseding method? It's really not clear from the documentation when you would use one versus the other.
I did catch that clang_reparseTranslationUnit's documentation says "The translation unit must originally have been built with clang_createTranslationUnitFromSourceFile." I don't know if that *really* means it couldn't come from clang_parseTranslationUnit, and thus there's some big difference between the two, or it's just a documentation mistake.