This patch switches libclang over to share the logic for emitting textual diagnostics with the Clang driver. There are some "interesting" ramifications of this switch:<div><br></div><div>- Complete path names to files instead of just filenames in some cases</div>
<div>- Macro backtrace notes are printed into the same blob of text</div><div>- Possibility to extend with color, caret diagnostics, line-wrapping, etc</div><div><br></div><div>The only real downside here seems to be that backtrace situation. There is no really ideal solution to this; the problem is that the macro backtrace doesn't consist of real notes, they are synthesized during emission. That means there won't be any representation of them within the diagnostic objects libclang sees, but when it goes to render some diagnostics textually, the macro notes will suddenly appear.</div>
<div><br></div><div>I don't really use libclang directly, so I wanted to mail this patch out as a starting point; I'll let Doug, Argiris, or others who understand its customers better decide how best to proceed. =]</div>