-
Notifications
You must be signed in to change notification settings - Fork 14
Fix string type inconsistency: standardize on i8* and remove struct-b… #157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@yuvimittal |
OSL ChatGPT ReviewerNOTE: This is generated by an AI program, so some comments may not make sense. src/irx/builders/llvmliteir.py
|
|
@xmnlab , here you can see , as discussed earlier. |
OSL ChatGPT ReviewerNOTE: This is generated by an AI program, so some comments may not make sense. src/irx/builders/llvmliteir.py
Suggested changes:
|
Pull Request description
This PR fixes a type inconsistency in the LLVM IR builder related to string handling.
Previously, a struct-based STRING_TYPE ({ i32, i8* }) existed in the type system, but all actual string operations in the codebase (concatenation, comparison, casts, puts, function arguments and returns) were already using plain i8*. This created a mismatch between the declared type model and the real LLVM IR being generated.
This change removes the unused struct-based string type and standardizes the string representation across the entire IR builder to i8* (C-style null-terminated char pointer), aligning the type system with the existing implementation.
No logic or behavior was changed — only type consistency was corrected.