Details

This patch applies the bug reporting technique that is being introduced in D24278 to CloneChecker. Extra notes highlight cloned code sections.

Examples of HTML reports:

clone-checker-normal.html6 KB

clone-checker-notes-as-events.html6 KB

I slightly fixed the clone checker diagnostics. In particular, analyzer diagnostics, unlike clang diagnostics, cannot end with a period; and i also capitalized the first letter. Also made slight changes to the suspicious clone structure, because path pieces require more than source ranges to operate (didn't look why though).

Originally D24278 contained this patch, but then it was decided to make a separate review. The original diff is an exact copy of the relevant section of the original diff in D24278, with no review comments addressed.

I'm planning to systematically split D24278 into smaller chunks, looking closely at the buildbot, in order to see what exactly breaks the MSVC compiler.
That would produce a lot of noise, for which i'm sorry in advance, but i don't seem to have better options(?)