@@ -58,11 +58,24 @@ int main(int argc, char **argv) {
58
58
llvm::cl::desc (" Split marker to use for merging the ouput" ),
59
59
llvm::cl::init (kDefaultSplitMarker ));
60
60
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" ))};
66
79
67
80
llvm::cl::opt<bool > allowUnregisteredDialects (
68
81
" allow-unregistered-dialect" ,
0 commit comments