<div dir="ltr"><br><div>I have a project with a working compilation database, on which I would like to use clang-tidy. I can run clang-tidy, and it points out issues, makes fix suggestions, can apply them, etc. So that is all working very nicely.</div><div><br></div><div>However, for my particular use case, I also want to parse the clang-tidy output, and it would be helpful to suppress the caret diagnostics as it makes parsing rather harder. I had thought that using the clang-tidy -extra-arg option with -fno-caret-diagnostics would work, but it appears to have no effect:</div><div><br></div><div>This is the base output, which has the normal caret diagnostics:</div><div><br></div><div><br></div><div><div>> /usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 src/example.cpp</div><div>3 warnings generated.</div><div>example.cpp:9:19: warning: 'example::Emitter' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>        struct    Emitter {</div><div>                  ^</div><div>example.cpp:21:12: warning: 'example::Base' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>           ~Base();</div><div>           ^</div><div>example.cpp:26:15: warning: 'example::Derived' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>        class Derived  : public Base  {</div></div><div><br></div><div><br></div><div>But re-running with -extra-arg=-fno-caret-diagnostics generates the same output:</div><div><br></div><div><div>> /usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 -extra-arg=-fno-caret-diagnostics example.cpp</div><div>example.cpp:9:19: warning: 'example::Emitter' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>        struct    Emitter {</div><div>                  ^</div><div>example.cpp:21:12: warning: 'example::Base' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>           ~Base();</div><div>           ^</div><div>example.cpp:26:15: warning: 'example::Derived' has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]</div><div>        class Derived  : public Base  {</div><div>              ^</div></div><div><br></div><div>It looks like clang-tidy is actually interpreting the -fno-caret-diagnostic option, somehow, because if I pass an invalid option, it complains:</div><div><br></div><div><div>> /usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 -extra-arg=-fno-caret-diagnosticsXXX example.cpp</div><div>3 warnings and 1 error generated.</div><div>Error while processing example.cpp.</div><div>error: unknown argument: '-fno-caret-diagnosticsXXX' [clang-diagnostic-error]</div></div><div><br></div><div>I'm using the homebrew llvm36 package on OSX Yosemite. How can I get clang-tidy to not emit the carets? I'm also interested in doing this for -fno-diagnostics-show-option.</div><div><br></div><div>Thanks,</div><div>Andrew</div><div><br></div></div>