Fix string type inconsistency: standardize on i8* and remove struct-b…#157
Fix string type inconsistency: standardize on i8* and remove struct-b…#157dev-m03 wants to merge 2 commits intoarxlang:mainfrom
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.