llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.98k stars 11.55k forks source link

Include check ID to YAML report #26506

Closed llvmbot closed 3 years ago

llvmbot commented 8 years ago
Bugzilla Link 26132
Resolution FIXED
Resolved on Apr 26, 2021 23:58
Version unspecified
OS All
Attachments Proposed patch
Reporter LLVM Bugzilla Contributor
CC @xgupta
Fixed by commit(s) https://reviews.llvm.org/rG9bab1991469c1c04f832a80d52e3f5065914cc39

Extended Description

Hi,

clang-tidy saves a YAML report when the option '-export-fixes=...' is used.


MainSourceFile: '' Replacements:

This information is sufficient to apply generated replacements later. However, there is no information about a check which had found this warning.

Is there a way to know check ID for this replacement?

PS: In clang-modernize this problem was solved with a workaround: When in "serialize-replacements" mode, clang-modernize can't inspect sources more than for 1 check ID. So, when I run

 ./clang-modernize -serialize-replacements

-serialize-dir=/tmp/modernize/add-override112233 /tmp/source.cpp

I'm sure that a YAML file in /tmp/modernize/add-override112233 is for "add-override" check.Repeat this for all 6 checks and, as a result, you can group replacements by check ID. clang-tidy allows to specify any number of check IDs when saving to YAML. And it has way more checks than 6. So, this workaround won't work well in case of clang-tidy

xgupta commented 3 years ago

I think the solution to this issue is provided by https://reviews.llvm.org/D16183 and then superseded by https://reviews.llvm.org/D26137.

llvmbot commented 8 years ago

Hi Ilia,

Thanks for the patch, but Bugzilla is not the best tool for code review ;) Could you upload the patch to LLVM Phabricator (see http://llvm.org/docs/Phabricator.html for instructions).

Thank you!