Save source ranges in Clang-Tidy diagnostics
Until now I thought Clang-Tidy only reported single source-locations where it emitted a warning. However, apparently you can pass one or more source-ranges as a parameter to Tidy's diagnostics. See https://github.com/llvm/llvm-project/pull/91951#discussion_r1620454619 for a more detailed description.
Clangd highlights this range, but this range is not present in the .plist output of Tidy. And thus CodeChecker cannot display it properly.
I linked my in-review checker that makes use of this, and for an upstreamed checker, bugprone-multiple-new-in-one-expression makes use of it by highlighting the two new-expressions per warning. The plist file generated by CodeChecker on the example code only contains a single location.
In general, it would be better if instead of trying to parse the stdout format (which has changed 3 times in the past 2 years or so), we would retrieve this information from the YAML file, see #4063.