Skip to content

Commit 37918fa

Browse files
authored
Merge pull request #1592 from Smit-create/i-1575-2
ASR Pass: Fix variables names to be used in C backend
2 parents 5ccc09c + 656bc42 commit 37918fa

File tree

5 files changed

+16
-12
lines changed

5 files changed

+16
-12
lines changed

integration_tests/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,10 @@ RUN(NAME array_02_decl LABELS cpython llvm c)
210210
RUN(NAME array_03_decl LABELS cpython llvm c)
211211
RUN(NAME variable_decl_01 LABELS cpython llvm c)
212212
RUN(NAME variable_decl_02 LABELS cpython llvm c)
213-
RUN(NAME array_expr_01 LABELS cpython llvm)
214-
RUN(NAME array_expr_02 LABELS cpython llvm)
215-
RUN(NAME array_01 LABELS cpython llvm wasm)
216-
RUN(NAME array_02 LABELS cpython wasm)
213+
RUN(NAME array_expr_01 LABELS cpython llvm c)
214+
RUN(NAME array_expr_02 LABELS cpython llvm c)
215+
RUN(NAME array_01 LABELS cpython llvm wasm c)
216+
RUN(NAME array_02 LABELS cpython wasm c)
217217
RUN(NAME bindc_01 LABELS cpython llvm c)
218218
RUN(NAME bindc_02 LABELS cpython llvm c)
219219
RUN(NAME bindc_04 LABELS llvm c)
@@ -229,8 +229,8 @@ RUN(NAME print_01 LABELS cpython llvm c wasm) # wasm not yet supports
229229
RUN(NAME print_03 LABELS x86 c wasm wasm_x86 wasm_x64) # simple test case specifically for x86, wasm_x86 and wasm_x64
230230
RUN(NAME print_04 LABELS cpython llvm c)
231231
RUN(NAME print_06 LABELS cpython llvm c)
232-
RUN(NAME print_05 LABELS cpython llvm wasm wasm_x64)
233-
RUN(NAME print_float LABELS cpython llvm wasm wasm_x64)
232+
RUN(NAME print_05 LABELS cpython llvm c wasm wasm_x64)
233+
RUN(NAME print_float LABELS cpython llvm c wasm wasm_x64)
234234
RUN(NAME print_list_tuple_01 LABELS cpython llvm c)
235235
RUN(NAME print_list_tuple_02 LABELS cpython llvm c)
236236

@@ -259,7 +259,7 @@ RUN(NAME expr_15 LABELS cpython llvm c)
259259
RUN(NAME loop_01 LABELS cpython llvm c)
260260
RUN(NAME loop_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64)
261261
RUN(NAME loop_03 LABELS cpython llvm c wasm wasm_x64)
262-
RUN(NAME loop_04 LABELS cpython llvm)
262+
RUN(NAME loop_04 LABELS cpython llvm c)
263263
RUN(NAME loop_05 LABELS cpython llvm c)
264264
RUN(NAME if_01 LABELS cpython llvm c wasm wasm_x86 wasm_x64)
265265
RUN(NAME if_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64)

integration_tests/loop_04.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from ltypes import i32
2+
23
j: i32
34
i: i32
5+
46
for i in range(5):
57
j = i
6-
print("j: ", j)
8+
print("j: ", j)

integration_tests/loop_05.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
from ltypes import i32
2+
13
def f():
2-
j :i32 = 0
4+
j: i32 = 0
35
while True:
46
j = j + 1
57
print(j)
@@ -8,4 +10,4 @@ def f():
810
print("out of outer loop")
911
assert j == 5
1012

11-
f()
13+
f()

src/libasr/pass/arr_slice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ class ReplaceArraySection: public ASR::BaseExprReplacer<ReplaceArraySection> {
9898
void replace_ArraySection(ASR::ArraySection_t* x) {
9999
LCOMPILERS_ASSERT(current_scope != nullptr);
100100
ASR::expr_t* x_arr_var = x->m_v;
101-
std::string new_name = "~" + std::to_string(slice_counter) + "_slice";
101+
std::string new_name = "__libasr__created__section__" + std::to_string(slice_counter) + "_slice";
102102
slice_counter += 1;
103103
char* new_var_name = s2c(al, new_name);
104104
ASR::ttype_t* slice_asr_type = get_array_from_slice(x, x_arr_var);

src/libasr/pass/pass_utils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ namespace LCompilers {
231231
ASR::expr_t* create_var(int counter, std::string suffix, const Location& loc,
232232
ASR::ttype_t* var_type, Allocator& al, SymbolTable*& current_scope) {
233233
ASR::expr_t* idx_var = nullptr;
234-
std::string str_name = "~" + std::to_string(counter) + suffix;
234+
std::string str_name = "__libasr__created__var__" + std::to_string(counter) + suffix;
235235
char* idx_var_name = s2c(al, str_name);
236236

237237
if( current_scope->get_symbol(std::string(idx_var_name)) == nullptr ) {

0 commit comments

Comments
 (0)