On Mon Aug 14 18:05:49 2023 +0000, Petrichor Park wrote:
I believe this is handled by the `type_no_void: TYPE_IDENTIFIER` in the yacc file, line 5644. There also aren't keywords for other inbuilt types (like `float`).
The point is that in both HLSL and C, some words (i.e. keywords) aren't legal variable identifiers. In C this includes "float"; in HLSL it does not. This kind of change treats "string" as no longer a keyword. If that's actually the case, it needs tests to justify. If not, we can't handle it using TYPE_IDENTIFIER; we'll need to add a specific rule for it.