With the current LLVM trunk ee9b49eef04518123ec04372b7b4bfc337c39dc9 and mlir trunk c2fea21ce08ffdf3a4d9afa28ca4dbe6e6974605, the build fails. (It's missing an include of SmallVector.h.)
/home/uday/llvm-project/llvm/projects/mlir/include/mlir/TableGen/OpInterfaces.h:72:28: error: implicit instantiation of undefined template 'llvm::SmallVector<mlir::tblgen::OpInterfaceMethod::Argument, 2>'
SmallVector<Argument, 2> arguments;
^
/home/uday/llvm-project/llvm/projects/mlir/include/mlir/Support/LLVM.h:44:41: note: template is declared here
template <typename T, unsigned N> class SmallVector;
^
In file included from /home/uday/llvm-project/llvm/projects/mlir/tools/mlir-tblgen/OpInterfacesGen.cpp:25:
/home/uday/llvm-project/llvm/projects/mlir/include/mlir/TableGen/OpInterfaces.h:99:37: error: implicit instantiation of undefined template 'llvm::SmallVector<mlir::tblgen::OpInterfaceMethod, 8>'
SmallVector<OpInterfaceMethod, 8> methods;
^
/home/uday/llvm-project/llvm/projects/mlir/include/mlir/Support/LLVM.h:44:41: note: template is declared here
template <typename T, unsigned N> class SmallVector;
^
2 errors generated.
ninja: build stopped: subcommand failed.
With the current LLVM trunk ee9b49eef04518123ec04372b7b4bfc337c39dc9 and mlir trunk c2fea21ce08ffdf3a4d9afa28ca4dbe6e6974605, the build fails. (It's missing an include of SmallVector.h.)