<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58240>58240</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Op.cpp.inc cannot found Op defined in Ops.td
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tjuwhy
</td>
</tr>
</table>
<pre>
I tried to create my own dialect and operations following the toy tutorial, as the error said:
```
mlir-fuzz/build/tools/mlir/examples/toy/Ch5/include/gen/Ops.cpp.inc:12:14: error: no member named 'GenOp' in namespace 'mlir::gen'
::mlir::gen::GenOp
~~~~~~~~~~~~~^
```
The Ops.td is shown below:
```
#ifndef GEN_OPS
#define GEN_OPS
include "mlir/Interfaces/CallInterfaces.td"
include "mlir/Interfaces/CastInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "toy/ShapeInferenceInterface.td"
def Gen_Dialect : Dialect {
//...
}
class Gen_Op<string mnemonic, list<Trait> traits = []> :
Op<Gen_Dialect, mnemonic, traits>;
def GenOp : Gen_Op<"gen", [ ]> {
//...
}
#endif // GEN_OPS
```
When I add operations through
```
#include "gen/Dialect.h"
#include "mlir/IR/Builders.h"
using namespace mlir;
using namespace mlir::gen;
#include "gen/Dialect.cpp.inc"
void mlir::gen::GenDialect::initialize() {
addOperations <
#define GET_OP_LIST
#include "gen/Ops.cpp.inc"
>();
}
```
The building process reported the error at the beginning.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydFdtuozj0a-DFGgQmhOSBh6ZJR5FGk9W20j5WBg7BI2Mj20w3_fo9NpDbTmerRejYPjefu0tVn4o9sZpDTawilQZmgXQnot4kqTkTUFnCZE1UD5pZrqQhjRJCvXF5JLYFlDoRO1ilkTmgj4QZjwatlSaG8TpIH4J4G8QPwTKefn_sBNdfmuH9PaBP5cBFjatVShhcHQ0X-Jt1vQDjKSeEj22GkMtKDDXg7ggS4aE3UdX3EeLxsoQ6sEAwGuE2UpEOuhI0kaxDVwOafwV56HElXHqk6VkFjuDvRpvTB689n4z3mFua34x6Rp5896k_290FhExnD18wes4jWxNuiGldJkrAiH8UyICmvJE1NOTr7vvr4Y_nMxpxXMId2sMphOgvnWK9lxZ0gzFw0X5kQlwQaAryfVLQ2P8l-Mxr2DUNltt_io-l8NyyHvayAQ2ygrPQtcwIfWBAvm6nanb1cN7nm5GJoOIn_KMomnO5vVZSCWaMV4PJTh8NdgzWfyehU5JXru4FNxYpL5pxXHfYU7gxeNuWBNkmyLYOeU4hwc9rurLMabnWOGpAsSDd_MKhQ-9dOduEbvuCpU4WryTznZ_wkaYga95MDHcFc1dtHv7VgiR7wuqbyWBbrYZjSz4s00sSx86dPI_aS85uuOZK-RPBxs0I0Oaa2cPBuFxcenhs0s3viOcOvgns7yyc58t89U_F63tl0ziY0-nPXHKLZ_6O42oV0LVLB5nzgeE7XKLncvivzn3BRLx-2z-_fGzi9fibzSP-c7Xjb704elvWv8ytG0B-ILvI9VphJxqioVfaulfiPNyZ9YcSjlxK5I1CKJLlMkvW-WK9DOsirdfpmoWWWwHFoZ-NJBWTUll8RwZ8WLCMR2drN4nHwRcOWhSttb1xQfQ1eeS2HcqoUh0ehPg5L1_QwB--eZ64MYOfJdmKLuKwLZIMWJMlZb6K19V6AbCMKxavUrquaZnnSSgYDlZTuP6kVMIb8SpcELNtyAsaU5rE8SqmWZIuI5pliySPS9SYwCJfBIsYOsZF5OyIlD6GuvAmlcPRINFNBHMh4gDhRwlQjOMgZINtlS7sj-GtPYX-5sJb_g9FMj3q">