<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126502>126502</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
TableGen error `Cannot access field 'Val' of value 'Def'` when using `#` operator
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
tablegen
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
s-barannikov
</td>
</tr>
</table>
<pre>
This simple test fails to compile:
` $ cat test.td`
```
class Rec { string Val = "abc"; }
def Def : Rec;
class Use<string V> { string Val = V; }
def MyDef : Use<"" # Def.Val>;
```
`$ llvm-tblgen test.td`
```
test.td:6:26: error: Cannot access field 'Val' of value '"Def"'
def MyDef : Use<"" # Def.Val>;
^
```
However, if I add a level of indirection, it does compile:
` $ cat test.td`
```
class Rec { string Val = "abc"; }
def Def : Rec;
class Use<string V> { string Val = V; }
class Helper<Rec R> : Use<"" # R.Val>;
def MyDef : Helper<Def>;
```
`$ llvm-tblgen test.td`
```
...
def MyDef { // Use Helper
string Val = "abc";
}
```
I'm not sure if this is a bug, but it's definitely unexpected behavior.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUVE2P4zYM_TX0hRhDpmIrPviQj0l3D70MtnOXbdpRq1iBJGc6_76Qk3Sadlq0QC8LCIktie898pHWIZhxYm6g3EK5z_Qcj8434anVXk-T-cVdstb17823owkYzOlsGSOHiIM2NmB02LnT2VgGuQGxrEog0Ao7HZebeeyhEteD2xKbzuoQ8IU7BLXFEL2ZRnzVFkHuEYh02wERyC2C2oPY9DzgngcEuUlRILdXsivOT4FB7u4oIJ8_Q339QLsB_vh-h7wCJEYiBJKJK3_VFuTzjeoP2m-vtEJrL6en2NqRp79P9X4gNxXIDaUfZO-dTw87PU0uou46DgEHw7ZHIJWoSaEb8KLtzGkLiPY8LBLVf9ePUD7_NY0v7o0v7IF2aAb8irrvUaPlC9vEbabeeO6icdNyJWLvOPzJ8O_C7WvgF7Zn9iB3ScnLEvhZ7V4eKvdY6N8hkhf_Q3Pkef7IobYgaqAD0CEpuxOKDf5T3RLqNddHKV-B1AlTh4XZczI5pjk2ATW285hcbeeIJgKpgD0PZjKR7TvOE_965i5yjy0f9cU4n4RmfSP7WtY646ZQsi7WVb2usmPTFaKtNFdiXatBFlIqpVZ9V1WK23XZ1ZlpSFApqBBFQfWqyldtzWWlW6WUKvuhhJXgkzY2T3XLnR8zE8LMTUFVKSizumUbls8U0SKdgJJrUbeWR57SRrnPfLPUvZ3HACthTYjhAzGaaLn5liJ-4Ok6hQiV-PdTuIygSk3_duQJ55AcWQyXadOd2evofDZ72xxjPIc0JYubo4nHuc07dwI6JEW3v6ezdz9zF4EOS8IB6HDL-dLQbwEAAP__AlWc4w">