// RUN: mlir-transform-opt %s | FileCheck %s
// RUN: mlir-transform-opt %s --transform=%s | FileCheck %s
// RUN: mlir-transform-opt %s --transform=%p/external-decl.mlir --verify-diagnostics
// RUN: mlir-transform-opt %s --transform=%p/external-def.mlir --transform-entry-point=external_def | FileCheck %s --check-prefix=EXTERNAL
// RUN: mlir-transform-opt %s --transform=%p/external-decl.mlir --transform-library=%p/external-def.mlir | FileCheck %s --check-prefix=EXTERNAL
// RUN: mlir-transform-opt %s --transform=%p/syntax-error.mlir --verify-diagnostics
// CHECK: IR printer: in self-contained
// EXTERNAL: IR printer: external_def
// The first occurrence comes from the print operation and the second is the
// roundtrip output. However, we shouldn't have the symbol duplicated because
// of library merging.
// CHECK-COUNT-2: @__transform_main
// CHECK-NOT: @__transform_main
module attributes {transform.with_named_sequence} {
transform.named_sequence private @__transform_main(%root: !transform.any_op) {
transform.print %root { name = "in self-contained" } : !transform.any_op
transform.yield
}
}