================ @@ -0,0 +1,75 @@ +// RUN: %check_clang_tidy --match-partial-fixes %s llvm-use-new-mlir-op-builder %t + +namespace mlir { +class Location {}; +class OpBuilder { +public: + template <typename OpTy, typename... Args> + OpTy create(Location location, Args &&...args) { + return OpTy(args...); + } + Location getUnknownLoc() { return Location(); } +}; +class ImplicitLocOpBuilder : public OpBuilder { +public: + template <typename OpTy, typename... Args> + OpTy create(Args &&...args) { + return OpTy(args...); + } +}; +struct ModuleOp { + ModuleOp() {} + static ModuleOp create(OpBuilder &builder, Location location) { + return ModuleOp(); + } +}; +struct NamedOp { + NamedOp(const char* name) {} + static NamedOp create(OpBuilder &builder, Location location, const char* name) { + return NamedOp(name); + } +}; +} // namespace mlir + +#define ASSIGN(A, B, C, D) A = B.create<C>(B.getUnknownLoc(), D) + +template <typename T> +void g(mlir::OpBuilder &b) { + // CHECK-MESSAGES: :[[@LINE+2]]:3: warning: use OpType::create(builder, ...) instead of builder.create<OpType>(...) [llvm-use-new-mlir-op-builder] ---------------- PiotrZSL wrote:
shoudn't be: 'OpType::create(builder, ...)' ? https://github.com/llvm/llvm-project/pull/149148 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits