Issue |
126502
|
Summary |
TableGen error `Cannot access field 'Val' of value 'Def'` when using `#` operator
|
Labels |
bug,
tablegen
|
Assignees |
|
Reporter |
s-barannikov
|
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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs