Trouble suppressing caret diagnostics with clang-3.6 clang-tidy

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.

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:

This is the base output, which has the normal caret diagnostics:

/usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 src/example.cpp
3 warnings generated.
example.cpp:9:19: warning: ‘example::Emitter’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
struct Emitter {
^
example.cpp:21:12: warning: ‘example::Base’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
~Base();
^
example.cpp:26:15: warning: ‘example::Derived’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
class Derived : public Base {

But re-running with -extra-arg=-fno-caret-diagnostics generates the same output:

/usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 -extra-arg=-fno-caret-diagnostics example.cpp
example.cpp:9:19: warning: ‘example::Emitter’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
struct Emitter {
^
example.cpp:21:12: warning: ‘example::Base’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
~Base();
^
example.cpp:26:15: warning: ‘example::Derived’ has virtual functions but non-virtual destructor [clang-diagnostic-non-virtual-dtor]
class Derived : public Base {
^

It looks like clang-tidy is actually interpreting the -fno-caret-diagnostic option, somehow, because if I pass an invalid option, it complains:

/usr/local/Cellar/llvm36/3.6.0/bin/clang-tidy-3.6 -extra-arg=-fno-caret-diagnosticsXXX example.cpp
3 warnings and 1 error generated.
Error while processing example.cpp.
error: unknown argument: ‘-fno-caret-diagnosticsXXX’ [clang-diagnostic-error]

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.

Thanks,
Andrew