After the change returning LogicalResult from applyPassManagerCLIOptions, the warning message is shown in the Toy CLIs saying it's not using the returned values. We can check the result and return non-zero value as the pass failure.
/Users/sasaki/dev/llvm-project/mlir/examples/toy/Ch3/toyc.cpp:118:5: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] applyPassManagerCLOptions(pm); ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ 1 warning generated. [473/485] Building CXX object tools/mlir/examples/toy/Ch4/CMakeFiles/toyc-ch4.dir/toyc.cpp.o /Users/sasaki/dev/llvm-project/mlir/examples/toy/Ch4/toyc.cpp:119:5: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] applyPassManagerCLOptions(pm); ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ 1 warning generated. [477/485] Building CXX object tools/mlir/examples/toy/Ch5/CMakeFiles/toyc-ch5.dir/toyc.cpp.o /Users/sasaki/dev/llvm-project/mlir/examples/toy/Ch5/toyc.cpp:122:3: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] applyPassManagerCLOptions(pm); ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ 1 warning generated. [479/485] Building CXX object tools/mlir/examples/toy/Ch6/CMakeFiles/toyc-ch6.dir/toyc.cpp.o /Users/sasaki/dev/llvm-project/mlir/examples/toy/Ch6/toyc.cpp:139:3: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] applyPassManagerCLOptions(pm); ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ 1 warning generated. [481/485] Building CXX object tools/mlir/examples/toy/Ch7/CMakeFiles/toyc-ch7.dir/toyc.cpp.o /Users/sasaki/dev/llvm-project/mlir/examples/toy/Ch7/toyc.cpp:139:3: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result] applyPassManagerCLOptions(pm); ^~~~~~~~~~~~~~~~~~~~~~~~~ ~~ 1 warning generated.