In particular:
/usr/local/google/home/sanjoy/Code/llvm-project/mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp:247:2: warning: extra ‘;’ [-Wpedantic] 247 | }; | ^ /usr/local/google/home/sanjoy/Code/llvm-project/llvm/unittests/Support/CrashRecoveryTest.cpp: In member function ‘virtual void CrashRecoveryTest_LimitedStackTrace_Test::TestBody()’: /usr/local/google/home/sanjoy/Code/llvm-project/llvm/unittests/Support/CrashRecoveryTest.cpp:112:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else] 112 | if (!Triple(sys::getProcessTriple()).isOSWindows()) | ^ In file included from /usr/local/google/home/sanjoy/Code/llvm-project/llvm/unittests/Support/TaskQueueTest.cpp:13: /usr/local/google/home/sanjoy/Code/llvm-project/llvm/include/llvm/Support/TaskQueue.h: In instantiation of ‘std::future<typename std::result_of<Callable()>::type> llvm::TaskQueue::async(Callable&&) [with Callable = TaskQueueTest_OrderedFutures_Test::TestBody()::<lambda()>; typename std::result_of<Callable()>::type = void]’: /usr/local/google/home/sanjoy/Code/llvm-project/llvm/unittests/Support/TaskQueueTest.cpp:39:4: required from here /usr/local/google/home/sanjoy/Code/llvm-project/llvm/include/llvm/Support/TaskQueue.h:101:23: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 101 | return std::move(F); | ^ /usr/local/google/home/sanjoy/Code/llvm-project/mlir/tools/mlir-tblgen/OpFormatGen.cpp: In member function ‘void {anonymous}::OperationFormat::genElementPrinter({anonymous}::Element*, mlir::tblgen::OpMethodBody&, mlir::tblgen::Operator&, bool&, bool&)’: /usr/local/google/home/sanjoy/Code/llvm-project/mlir/tools/mlir-tblgen/OpFormatGen.cpp:1644:23: warning: unused variable ‘newline’ [-Wunused-variable] 1644 | if (NewlineElement *newline = dyn_cast<NewlineElement>(element)) { | ^~~~~~~ In file included from /usr/local/google/home/sanjoy/Code/llvm-project/mlir/lib/Parser/Lexer.h:17, from /usr/local/google/home/sanjoy/Code/llvm-project/mlir/lib/Parser/ParserState.h:12, from /usr/local/google/home/sanjoy/Code/llvm-project/mlir/lib/Parser/Parser.h:12, from /usr/local/google/home/sanjoy/Code/llvm-project/mlir/lib/Parser/LocationParser.cpp:9: /usr/local/google/home/sanjoy/Code/llvm-project/mlir/include/mlir/Parser.h: In instantiation of ‘mlir::OwningOpRef<ContainerOpT> mlir::detail::constructContainerOpForParserIfNecessary(mlir::Block*, mlir::MLIRContext*, mlir::Location) [with ContainerOpT = mlir::ModuleOp]’: /usr/local/google/home/sanjoy/Code/llvm-project/mlir/include/mlir/Parser.h:134:72: required from ‘mlir::OwningOpRef<ContainerOpT> mlir::parseSourceFile(const llvm::SourceMgr&, mlir::MLIRContext*) [with ContainerOpT = mlir::ModuleOp]’ /usr/local/google/home/sanjoy/Code/llvm-project/mlir/include/mlir/Parser.h:201:54: required from here /usr/local/google/home/sanjoy/Code/llvm-project/mlir/include/mlir/Parser.h:70:25: warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move] 70 | return std::move(opRef); | ^
This is unfortunate. Can/should we fix EXPECT_EQ instead to use do{...}while(0) correctly?