PLC-lang/rusty
using `__VOID` as a type in user code should be an error
Offen
#1.348 geöffnet am 24.10.2024
good first issuemedium-priority
Repository-Metriken
- Stars
- (351 Sterne)
- PR-Merge-Metriken
- (PR-Metriken ausstehend)
Beschreibung
We currently do not have a validation in place to safeguard against initializing a variable with __VOID. Since the void type does not exist outside of return-types in LLVM, the variable's type is then changed to i32 during codegen.
I think it would make sense to disallow using the type in user code in general, especially seeing as it is prefixed with __.
FUNCTION_BLOCK foo
VAR
x : __VOID;
END_VAR
END_FUNCTION_BLOCK
...
%foo = type { i32 }