@@ -58,11 +58,24 @@ int main(int argc, char **argv) {
5858 llvm::cl::desc (" Split marker to use for merging the ouput" ),
5959 llvm::cl::init (kDefaultSplitMarker ));
6060
61- llvm::cl::opt<bool > verify_diagnostics (
62- " verify-diagnostics" ,
63- llvm::cl::desc (" Check that emitted diagnostics match expected-* lines on "
64- " the corresponding line" ),
65- llvm::cl::init (false ));
61+ llvm::cl::opt<mlir::SourceMgrDiagnosticVerifierHandler::Level>
62+ verify_diagnostics{
63+ " verify-diagnostics" , llvm::cl::ValueOptional,
64+ llvm::cl::desc (
65+ " Check that emitted diagnostics match expected-* lines on the "
66+ " corresponding line" ),
67+ llvm::cl::values (
68+ clEnumValN (
69+ mlir::SourceMgrDiagnosticVerifierHandler::Level::All, " all" ,
70+ " Check all diagnostics (expected, unexpected, near-misses)" ),
71+ // Implicit value: when passed with no arguments, e.g.
72+ // `--verify-diagnostics` or `--verify-diagnostics=`.
73+ clEnumValN (
74+ mlir::SourceMgrDiagnosticVerifierHandler::Level::All, " " ,
75+ " Check all diagnostics (expected, unexpected, near-misses)" ),
76+ clEnumValN (
77+ mlir::SourceMgrDiagnosticVerifierHandler::Level::OnlyExpected,
78+ " only-expected" , " Check only expected diagnostics" ))};
6679
6780 llvm::cl::opt<bool > allowUnregisteredDialects (
6881 " allow-unregistered-dialect" ,
0 commit comments