sammccall added a comment. It looks like either we're in syntax-only mode (and -o will be ignored regardless) or we're in analyzer mode, and want -o. It seems tempting to just stop stripping it in this case, but then we'll end up with -o foo.o -o foo.html, which is no good. So the logic of this patch seems sound.
--- I wonder about the CLI though, I think the user will have to pass four flags with different styles to use it! `clang-check -analyze ... -extra-arg=-Xanalyzer -extra-arg=-analyzer-output=html -output=html_output ....` (Maybe -analyze should imply -Xanalyzer, and analyzer-output should be promoted to a real flag without the legacy plist default...) ================ Comment at: clang/test/Tooling/clang-check-reset-o.cpp:10 +// CHECK: {{qwerty}} +// CHECK: C++ requires +invalid; ---------------- it looks like you're checking for the analysis finding in stdout of clang-check, rather than in the generated html file. So i'm not sure this test verifies it actually works! ================ Comment at: clang/tools/clang-check/ClangCheck.cpp:80 +static cl::opt<std::string> + Output("output", cl::desc(Options.getOptionHelpText(options::OPT_o)), + cl::cat(ClangCheckCategory)); ---------------- I think this should have a name with clear semantics like -analyzer-output-file (and only be used in analyzer mode). While it does just append -o to the command-line, I think it will confuse users to treat it as a generic output flag. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97265/new/ https://reviews.llvm.org/D97265 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits