From a7154aedb497f00afc65b61e1913f3d52603dc07 Mon Sep 17 00:00:00 2001 From: Ubaid Shaikh Date: Sun, 30 Mar 2025 01:14:21 +0530 Subject: [PATCH 1/5] Move libasr to libasr/src Update CMakeLists.txt --- src/CMakeLists.txt | 2 +- src/bin/CMakeLists.txt | 2 +- src/libasr/{ => src/libasr}/ASR.asdl | 0 src/libasr/{ => src/libasr}/CMakeLists.txt | 6 +++--- src/libasr/{ => src/libasr}/alloc.h | 0 src/libasr/{ => src/libasr}/asdl.py | 0 src/libasr/{ => src/libasr}/asdl_cpp.py | 0 src/libasr/{ => src/libasr}/asr_builder.h | 0 src/libasr/{ => src/libasr}/asr_scopes.cpp | 0 src/libasr/{ => src/libasr}/asr_scopes.h | 0 src/libasr/{ => src/libasr}/asr_utils.cpp | 0 src/libasr/{ => src/libasr}/asr_utils.h | 0 src/libasr/{ => src/libasr}/asr_verify.cpp | 0 src/libasr/{ => src/libasr}/asr_verify.h | 0 src/libasr/{ => src/libasr}/assert.h | 0 src/libasr/{ => src/libasr}/bigint.h | 0 src/libasr/{ => src/libasr}/bwriter.h | 0 src/libasr/{ => src/libasr}/casting_utils.cpp | 0 src/libasr/{ => src/libasr}/casting_utils.h | 0 src/libasr/{ => src/libasr}/codegen/KaleidoscopeJIT.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_c.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_c.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_c_cpp.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_cpp.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_cpp.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_fortran.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_fortran.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_julia.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_julia.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_llvm.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_llvm.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_py.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_py.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_python.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_python.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_wasm.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_wasm.h | 0 src/libasr/{ => src/libasr}/codegen/asr_to_x86.cpp | 0 src/libasr/{ => src/libasr}/codegen/asr_to_x86.h | 0 src/libasr/{ => src/libasr}/codegen/c_utils.h | 0 src/libasr/{ => src/libasr}/codegen/evaluator.cpp | 0 src/libasr/{ => src/libasr}/codegen/evaluator.h | 0 .../{ => src/libasr}/codegen/llvm_array_utils.cpp | 0 src/libasr/{ => src/libasr}/codegen/llvm_array_utils.h | 0 src/libasr/{ => src/libasr}/codegen/llvm_utils.cpp | 0 src/libasr/{ => src/libasr}/codegen/llvm_utils.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_assembler.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_decoder.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_wat.cpp | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_wat.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_x64.cpp | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_x64.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_x86.cpp | 0 src/libasr/{ => src/libasr}/codegen/wasm_to_x86.h | 0 src/libasr/{ => src/libasr}/codegen/wasm_utils.cpp | 0 src/libasr/{ => src/libasr}/codegen/wasm_utils.h | 0 src/libasr/{ => src/libasr}/codegen/x86_assembler.cpp | 0 src/libasr/{ => src/libasr}/codegen/x86_assembler.h | 0 src/libasr/{ => src/libasr}/colors.h | 0 .../{ => src/libasr}/compiler_tester/__init__.py | 0 src/libasr/{ => src/libasr}/compiler_tester/tester.py | 0 src/libasr/{ => src/libasr}/config.h.in | 0 src/libasr/{ => src/libasr}/containers.h | 0 src/libasr/{ => src/libasr}/dat_convert.py | 0 src/libasr/{ => src/libasr}/diagnostics.cpp | 0 src/libasr/{ => src/libasr}/diagnostics.h | 0 src/libasr/{ => src/libasr}/dwarf_convert.py | 0 src/libasr/{ => src/libasr}/exception.h | 0 src/libasr/{ => src/libasr}/gen_pass.py | 0 .../libasr}/intrinsic_func_registry_util_gen.py | 0 src/libasr/{ => src/libasr}/location.h | 0 src/libasr/{ => src/libasr}/lsp_interface.h | 0 src/libasr/{ => src/libasr}/modfile.cpp | 0 src/libasr/{ => src/libasr}/modfile.h | 0 src/libasr/{ => src/libasr}/pass/arr_slice.cpp | 0 src/libasr/{ => src/libasr}/pass/array_by_data.h | 0 src/libasr/{ => src/libasr}/pass/array_op.cpp | 0 src/libasr/{ => src/libasr}/pass/class_constructor.cpp | 0 src/libasr/{ => src/libasr}/pass/compare.h | 0 .../libasr}/pass/create_subroutine_from_function.h | 0 src/libasr/{ => src/libasr}/pass/dead_code_removal.cpp | 0 src/libasr/{ => src/libasr}/pass/dead_code_removal.h | 0 src/libasr/{ => src/libasr}/pass/div_to_mul.cpp | 0 src/libasr/{ => src/libasr}/pass/do_loops.cpp | 0 src/libasr/{ => src/libasr}/pass/flip_sign.cpp | 0 src/libasr/{ => src/libasr}/pass/fma.cpp | 0 src/libasr/{ => src/libasr}/pass/for_all.cpp | 0 .../libasr}/pass/function_call_in_declaration.cpp | 0 src/libasr/{ => src/libasr}/pass/global_stmts.cpp | 0 src/libasr/{ => src/libasr}/pass/implied_do_loops.cpp | 0 src/libasr/{ => src/libasr}/pass/init_expr.cpp | 0 .../{ => src/libasr}/pass/inline_function_calls.cpp | 0 .../{ => src/libasr}/pass/inline_function_calls.h | 0 src/libasr/{ => src/libasr}/pass/insert_deallocate.cpp | 0 src/libasr/{ => src/libasr}/pass/insert_deallocate.h | 0 .../{ => src/libasr}/pass/instantiate_template.cpp | 0 .../{ => src/libasr}/pass/instantiate_template.h | 0 .../libasr}/pass/intrinsic_array_function_registry.h | 0 .../{ => src/libasr}/pass/intrinsic_function.cpp | 0 .../libasr}/pass/intrinsic_function_registry.h | 0 src/libasr/{ => src/libasr}/pass/intrinsic_functions.h | 0 .../{ => src/libasr}/pass/intrinsic_subroutine.cpp | 0 .../libasr}/pass/intrinsic_subroutine_registry.h | 0 .../{ => src/libasr}/pass/intrinsic_subroutines.h | 0 src/libasr/{ => src/libasr}/pass/list_expr.h | 0 src/libasr/{ => src/libasr}/pass/loop_unroll.cpp | 0 src/libasr/{ => src/libasr}/pass/loop_unroll.h | 0 src/libasr/{ => src/libasr}/pass/loop_vectorise.cpp | 0 src/libasr/{ => src/libasr}/pass/loop_vectorise.h | 0 src/libasr/{ => src/libasr}/pass/nested_vars.cpp | 0 src/libasr/{ => src/libasr}/pass/nested_vars.h | 0 src/libasr/{ => src/libasr}/pass/param_to_const.cpp | 0 .../{ => src/libasr}/pass/pass_array_by_data.cpp | 0 src/libasr/{ => src/libasr}/pass/pass_compare.cpp | 0 src/libasr/{ => src/libasr}/pass/pass_list_expr.cpp | 0 src/libasr/{ => src/libasr}/pass/pass_manager.h | 0 src/libasr/{ => src/libasr}/pass/pass_utils.cpp | 0 src/libasr/{ => src/libasr}/pass/pass_utils.h | 0 src/libasr/{ => src/libasr}/pass/print_arr.cpp | 0 src/libasr/{ => src/libasr}/pass/print_list_tuple.cpp | 0 src/libasr/{ => src/libasr}/pass/print_struct_type.cpp | 0 .../pass/promote_allocatable_to_nonallocatable.cpp | 0 .../pass/promote_allocatable_to_nonallocatable.h | 0 src/libasr/{ => src/libasr}/pass/python_bind.cpp | 0 src/libasr/{ => src/libasr}/pass/python_bind.h | 0 src/libasr/{ => src/libasr}/pass/replace_arr_slice.h | 0 src/libasr/{ => src/libasr}/pass/replace_array_op.h | 0 .../{ => src/libasr}/pass/replace_class_constructor.h | 0 src/libasr/{ => src/libasr}/pass/replace_div_to_mul.h | 0 src/libasr/{ => src/libasr}/pass/replace_do_loops.h | 0 src/libasr/{ => src/libasr}/pass/replace_flip_sign.h | 0 src/libasr/{ => src/libasr}/pass/replace_fma.h | 0 src/libasr/{ => src/libasr}/pass/replace_for_all.h | 0 .../pass/replace_function_call_in_declaration.h | 0 .../{ => src/libasr}/pass/replace_implied_do_loops.h | 0 src/libasr/{ => src/libasr}/pass/replace_init_expr.h | 0 .../{ => src/libasr}/pass/replace_intrinsic_function.h | 0 .../libasr}/pass/replace_intrinsic_subroutine.h | 0 .../{ => src/libasr}/pass/replace_param_to_const.h | 0 src/libasr/{ => src/libasr}/pass/replace_print_arr.h | 0 .../{ => src/libasr}/pass/replace_print_list_tuple.h | 0 .../{ => src/libasr}/pass/replace_print_struct_type.h | 0 src/libasr/{ => src/libasr}/pass/replace_select_case.h | 0 .../{ => src/libasr}/pass/replace_sign_from_value.h | 0 src/libasr/{ => src/libasr}/pass/replace_symbolic.cpp | 0 src/libasr/{ => src/libasr}/pass/replace_symbolic.h | 0 src/libasr/{ => src/libasr}/pass/replace_where.h | 0 src/libasr/{ => src/libasr}/pass/select_case.cpp | 0 src/libasr/{ => src/libasr}/pass/sign_from_value.cpp | 0 src/libasr/{ => src/libasr}/pass/stmt_walk_visitor.h | 0 .../{ => src/libasr}/pass/subroutine_from_function.cpp | 0 .../pass/transform_optional_argument_functions.cpp | 0 .../pass/transform_optional_argument_functions.h | 0 src/libasr/{ => src/libasr}/pass/unique_symbols.cpp | 0 src/libasr/{ => src/libasr}/pass/unique_symbols.h | 0 src/libasr/{ => src/libasr}/pass/unused_functions.cpp | 0 src/libasr/{ => src/libasr}/pass/unused_functions.h | 0 .../libasr}/pass/update_array_dim_intrinsic_calls.cpp | 0 .../libasr}/pass/update_array_dim_intrinsic_calls.h | 0 src/libasr/{ => src/libasr}/pass/where.cpp | 0 src/libasr/{ => src/libasr}/pass/while_else.cpp | 0 src/libasr/{ => src/libasr}/pass/while_else.h | 0 src/libasr/{ => src/libasr}/pass/wrap_global_stmts.h | 0 src/libasr/{ => src/libasr}/pickle.cpp | 0 src/libasr/{ => src/libasr}/pickle.h | 0 .../{ => src/libasr}/runtime/lfortran_intrinsics.c | 0 .../{ => src/libasr}/runtime/lfortran_intrinsics.h | 0 src/libasr/{ => src/libasr}/semantic_exception.h | 0 src/libasr/{ => src/libasr}/serialization.cpp | 0 src/libasr/{ => src/libasr}/serialization.h | 0 src/libasr/{ => src/libasr}/stacktrace.cpp | 0 src/libasr/{ => src/libasr}/stacktrace.h | 0 src/libasr/{ => src/libasr}/string_utils.cpp | 0 src/libasr/{ => src/libasr}/string_utils.h | 0 src/libasr/{ => src/libasr}/utils.h | 0 src/libasr/{ => src/libasr}/utils2.cpp | 0 src/libasr/{ => src/libasr}/wasm_instructions.txt | 0 .../{ => src/libasr}/wasm_instructions_visitor.py | 0 src/runtime/legacy/CMakeLists.txt | 10 +++++----- 179 files changed, 10 insertions(+), 10 deletions(-) rename src/libasr/{ => src/libasr}/ASR.asdl (100%) rename src/libasr/{ => src/libasr}/CMakeLists.txt (94%) rename src/libasr/{ => src/libasr}/alloc.h (100%) rename src/libasr/{ => src/libasr}/asdl.py (100%) rename src/libasr/{ => src/libasr}/asdl_cpp.py (100%) rename src/libasr/{ => src/libasr}/asr_builder.h (100%) rename src/libasr/{ => src/libasr}/asr_scopes.cpp (100%) rename src/libasr/{ => src/libasr}/asr_scopes.h (100%) rename src/libasr/{ => src/libasr}/asr_utils.cpp (100%) rename src/libasr/{ => src/libasr}/asr_utils.h (100%) rename src/libasr/{ => src/libasr}/asr_verify.cpp (100%) rename src/libasr/{ => src/libasr}/asr_verify.h (100%) rename src/libasr/{ => src/libasr}/assert.h (100%) rename src/libasr/{ => src/libasr}/bigint.h (100%) rename src/libasr/{ => src/libasr}/bwriter.h (100%) rename src/libasr/{ => src/libasr}/casting_utils.cpp (100%) rename src/libasr/{ => src/libasr}/casting_utils.h (100%) rename src/libasr/{ => src/libasr}/codegen/KaleidoscopeJIT.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_c.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_c.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_c_cpp.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_cpp.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_cpp.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_fortran.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_fortran.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_julia.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_julia.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_llvm.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_llvm.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_py.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_py.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_python.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_python.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_wasm.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_wasm.h (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_x86.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/asr_to_x86.h (100%) rename src/libasr/{ => src/libasr}/codegen/c_utils.h (100%) rename src/libasr/{ => src/libasr}/codegen/evaluator.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/evaluator.h (100%) rename src/libasr/{ => src/libasr}/codegen/llvm_array_utils.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/llvm_array_utils.h (100%) rename src/libasr/{ => src/libasr}/codegen/llvm_utils.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/llvm_utils.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_assembler.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_decoder.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_wat.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_wat.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_x64.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_x64.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_x86.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_to_x86.h (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_utils.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/wasm_utils.h (100%) rename src/libasr/{ => src/libasr}/codegen/x86_assembler.cpp (100%) rename src/libasr/{ => src/libasr}/codegen/x86_assembler.h (100%) rename src/libasr/{ => src/libasr}/colors.h (100%) rename src/libasr/{ => src/libasr}/compiler_tester/__init__.py (100%) rename src/libasr/{ => src/libasr}/compiler_tester/tester.py (100%) rename src/libasr/{ => src/libasr}/config.h.in (100%) rename src/libasr/{ => src/libasr}/containers.h (100%) rename src/libasr/{ => src/libasr}/dat_convert.py (100%) rename src/libasr/{ => src/libasr}/diagnostics.cpp (100%) rename src/libasr/{ => src/libasr}/diagnostics.h (100%) rename src/libasr/{ => src/libasr}/dwarf_convert.py (100%) rename src/libasr/{ => src/libasr}/exception.h (100%) rename src/libasr/{ => src/libasr}/gen_pass.py (100%) rename src/libasr/{ => src/libasr}/intrinsic_func_registry_util_gen.py (100%) rename src/libasr/{ => src/libasr}/location.h (100%) rename src/libasr/{ => src/libasr}/lsp_interface.h (100%) rename src/libasr/{ => src/libasr}/modfile.cpp (100%) rename src/libasr/{ => src/libasr}/modfile.h (100%) rename src/libasr/{ => src/libasr}/pass/arr_slice.cpp (100%) rename src/libasr/{ => src/libasr}/pass/array_by_data.h (100%) rename src/libasr/{ => src/libasr}/pass/array_op.cpp (100%) rename src/libasr/{ => src/libasr}/pass/class_constructor.cpp (100%) rename src/libasr/{ => src/libasr}/pass/compare.h (100%) rename src/libasr/{ => src/libasr}/pass/create_subroutine_from_function.h (100%) rename src/libasr/{ => src/libasr}/pass/dead_code_removal.cpp (100%) rename src/libasr/{ => src/libasr}/pass/dead_code_removal.h (100%) rename src/libasr/{ => src/libasr}/pass/div_to_mul.cpp (100%) rename src/libasr/{ => src/libasr}/pass/do_loops.cpp (100%) rename src/libasr/{ => src/libasr}/pass/flip_sign.cpp (100%) rename src/libasr/{ => src/libasr}/pass/fma.cpp (100%) rename src/libasr/{ => src/libasr}/pass/for_all.cpp (100%) rename src/libasr/{ => src/libasr}/pass/function_call_in_declaration.cpp (100%) rename src/libasr/{ => src/libasr}/pass/global_stmts.cpp (100%) rename src/libasr/{ => src/libasr}/pass/implied_do_loops.cpp (100%) rename src/libasr/{ => src/libasr}/pass/init_expr.cpp (100%) rename src/libasr/{ => src/libasr}/pass/inline_function_calls.cpp (100%) rename src/libasr/{ => src/libasr}/pass/inline_function_calls.h (100%) rename src/libasr/{ => src/libasr}/pass/insert_deallocate.cpp (100%) rename src/libasr/{ => src/libasr}/pass/insert_deallocate.h (100%) rename src/libasr/{ => src/libasr}/pass/instantiate_template.cpp (100%) rename src/libasr/{ => src/libasr}/pass/instantiate_template.h (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_array_function_registry.h (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_function.cpp (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_function_registry.h (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_functions.h (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_subroutine.cpp (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_subroutine_registry.h (100%) rename src/libasr/{ => src/libasr}/pass/intrinsic_subroutines.h (100%) rename src/libasr/{ => src/libasr}/pass/list_expr.h (100%) rename src/libasr/{ => src/libasr}/pass/loop_unroll.cpp (100%) rename src/libasr/{ => src/libasr}/pass/loop_unroll.h (100%) rename src/libasr/{ => src/libasr}/pass/loop_vectorise.cpp (100%) rename src/libasr/{ => src/libasr}/pass/loop_vectorise.h (100%) rename src/libasr/{ => src/libasr}/pass/nested_vars.cpp (100%) rename src/libasr/{ => src/libasr}/pass/nested_vars.h (100%) rename src/libasr/{ => src/libasr}/pass/param_to_const.cpp (100%) rename src/libasr/{ => src/libasr}/pass/pass_array_by_data.cpp (100%) rename src/libasr/{ => src/libasr}/pass/pass_compare.cpp (100%) rename src/libasr/{ => src/libasr}/pass/pass_list_expr.cpp (100%) rename src/libasr/{ => src/libasr}/pass/pass_manager.h (100%) rename src/libasr/{ => src/libasr}/pass/pass_utils.cpp (100%) rename src/libasr/{ => src/libasr}/pass/pass_utils.h (100%) rename src/libasr/{ => src/libasr}/pass/print_arr.cpp (100%) rename src/libasr/{ => src/libasr}/pass/print_list_tuple.cpp (100%) rename src/libasr/{ => src/libasr}/pass/print_struct_type.cpp (100%) rename src/libasr/{ => src/libasr}/pass/promote_allocatable_to_nonallocatable.cpp (100%) rename src/libasr/{ => src/libasr}/pass/promote_allocatable_to_nonallocatable.h (100%) rename src/libasr/{ => src/libasr}/pass/python_bind.cpp (100%) rename src/libasr/{ => src/libasr}/pass/python_bind.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_arr_slice.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_array_op.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_class_constructor.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_div_to_mul.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_do_loops.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_flip_sign.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_fma.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_for_all.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_function_call_in_declaration.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_implied_do_loops.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_init_expr.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_intrinsic_function.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_intrinsic_subroutine.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_param_to_const.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_print_arr.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_print_list_tuple.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_print_struct_type.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_select_case.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_sign_from_value.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_symbolic.cpp (100%) rename src/libasr/{ => src/libasr}/pass/replace_symbolic.h (100%) rename src/libasr/{ => src/libasr}/pass/replace_where.h (100%) rename src/libasr/{ => src/libasr}/pass/select_case.cpp (100%) rename src/libasr/{ => src/libasr}/pass/sign_from_value.cpp (100%) rename src/libasr/{ => src/libasr}/pass/stmt_walk_visitor.h (100%) rename src/libasr/{ => src/libasr}/pass/subroutine_from_function.cpp (100%) rename src/libasr/{ => src/libasr}/pass/transform_optional_argument_functions.cpp (100%) rename src/libasr/{ => src/libasr}/pass/transform_optional_argument_functions.h (100%) rename src/libasr/{ => src/libasr}/pass/unique_symbols.cpp (100%) rename src/libasr/{ => src/libasr}/pass/unique_symbols.h (100%) rename src/libasr/{ => src/libasr}/pass/unused_functions.cpp (100%) rename src/libasr/{ => src/libasr}/pass/unused_functions.h (100%) rename src/libasr/{ => src/libasr}/pass/update_array_dim_intrinsic_calls.cpp (100%) rename src/libasr/{ => src/libasr}/pass/update_array_dim_intrinsic_calls.h (100%) rename src/libasr/{ => src/libasr}/pass/where.cpp (100%) rename src/libasr/{ => src/libasr}/pass/while_else.cpp (100%) rename src/libasr/{ => src/libasr}/pass/while_else.h (100%) rename src/libasr/{ => src/libasr}/pass/wrap_global_stmts.h (100%) rename src/libasr/{ => src/libasr}/pickle.cpp (100%) rename src/libasr/{ => src/libasr}/pickle.h (100%) rename src/libasr/{ => src/libasr}/runtime/lfortran_intrinsics.c (100%) rename src/libasr/{ => src/libasr}/runtime/lfortran_intrinsics.h (100%) rename src/libasr/{ => src/libasr}/semantic_exception.h (100%) rename src/libasr/{ => src/libasr}/serialization.cpp (100%) rename src/libasr/{ => src/libasr}/serialization.h (100%) rename src/libasr/{ => src/libasr}/stacktrace.cpp (100%) rename src/libasr/{ => src/libasr}/stacktrace.h (100%) rename src/libasr/{ => src/libasr}/string_utils.cpp (100%) rename src/libasr/{ => src/libasr}/string_utils.h (100%) rename src/libasr/{ => src/libasr}/utils.h (100%) rename src/libasr/{ => src/libasr}/utils2.cpp (100%) rename src/libasr/{ => src/libasr}/wasm_instructions.txt (100%) rename src/libasr/{ => src/libasr}/wasm_instructions_visitor.py (100%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 061b942762..21661b55a8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -add_subdirectory(libasr) +add_subdirectory(libasr/src/libasr) add_subdirectory(tests) add_subdirectory(lpython) add_subdirectory(bin) diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt index 72a1a1a11c..c6f9376613 100644 --- a/src/bin/CMakeLists.txt +++ b/src/bin/CMakeLists.txt @@ -33,7 +33,7 @@ if (WITH_STACKTRACE AND APPLE AND CMAKE_CXX_COMPILER_ID MATCHES Clang) add_custom_command( TARGET lpython POST_BUILD - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../libasr/dwarf_convert.py lpython.dSYM/raw.txt lpython.dSYM/lines.txt lpython.dSYM/lines.dat + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../libasr/src/libasr/dwarf_convert.py lpython.dSYM/raw.txt lpython.dSYM/lines.txt lpython.dSYM/lines.dat ) endif() endif() diff --git a/src/libasr/ASR.asdl b/src/libasr/src/libasr/ASR.asdl similarity index 100% rename from src/libasr/ASR.asdl rename to src/libasr/src/libasr/ASR.asdl diff --git a/src/libasr/CMakeLists.txt b/src/libasr/src/libasr/CMakeLists.txt similarity index 94% rename from src/libasr/CMakeLists.txt rename to src/libasr/src/libasr/CMakeLists.txt index 0d69d7cfaa..e8b2460d4f 100644 --- a/src/libasr/CMakeLists.txt +++ b/src/libasr/src/libasr/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) -project(libasr) +project(libasr/src/libasr) if (NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 17 @@ -103,8 +103,8 @@ if (WITH_LLVM) endif() endif() add_library(asr STATIC ${SRC}) -target_include_directories(asr BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(asr BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(asr BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(asr BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) if (WITH_BFD) target_link_libraries(asr p::bfd) endif() diff --git a/src/libasr/alloc.h b/src/libasr/src/libasr/alloc.h similarity index 100% rename from src/libasr/alloc.h rename to src/libasr/src/libasr/alloc.h diff --git a/src/libasr/asdl.py b/src/libasr/src/libasr/asdl.py similarity index 100% rename from src/libasr/asdl.py rename to src/libasr/src/libasr/asdl.py diff --git a/src/libasr/asdl_cpp.py b/src/libasr/src/libasr/asdl_cpp.py similarity index 100% rename from src/libasr/asdl_cpp.py rename to src/libasr/src/libasr/asdl_cpp.py diff --git a/src/libasr/asr_builder.h b/src/libasr/src/libasr/asr_builder.h similarity index 100% rename from src/libasr/asr_builder.h rename to src/libasr/src/libasr/asr_builder.h diff --git a/src/libasr/asr_scopes.cpp b/src/libasr/src/libasr/asr_scopes.cpp similarity index 100% rename from src/libasr/asr_scopes.cpp rename to src/libasr/src/libasr/asr_scopes.cpp diff --git a/src/libasr/asr_scopes.h b/src/libasr/src/libasr/asr_scopes.h similarity index 100% rename from src/libasr/asr_scopes.h rename to src/libasr/src/libasr/asr_scopes.h diff --git a/src/libasr/asr_utils.cpp b/src/libasr/src/libasr/asr_utils.cpp similarity index 100% rename from src/libasr/asr_utils.cpp rename to src/libasr/src/libasr/asr_utils.cpp diff --git a/src/libasr/asr_utils.h b/src/libasr/src/libasr/asr_utils.h similarity index 100% rename from src/libasr/asr_utils.h rename to src/libasr/src/libasr/asr_utils.h diff --git a/src/libasr/asr_verify.cpp b/src/libasr/src/libasr/asr_verify.cpp similarity index 100% rename from src/libasr/asr_verify.cpp rename to src/libasr/src/libasr/asr_verify.cpp diff --git a/src/libasr/asr_verify.h b/src/libasr/src/libasr/asr_verify.h similarity index 100% rename from src/libasr/asr_verify.h rename to src/libasr/src/libasr/asr_verify.h diff --git a/src/libasr/assert.h b/src/libasr/src/libasr/assert.h similarity index 100% rename from src/libasr/assert.h rename to src/libasr/src/libasr/assert.h diff --git a/src/libasr/bigint.h b/src/libasr/src/libasr/bigint.h similarity index 100% rename from src/libasr/bigint.h rename to src/libasr/src/libasr/bigint.h diff --git a/src/libasr/bwriter.h b/src/libasr/src/libasr/bwriter.h similarity index 100% rename from src/libasr/bwriter.h rename to src/libasr/src/libasr/bwriter.h diff --git a/src/libasr/casting_utils.cpp b/src/libasr/src/libasr/casting_utils.cpp similarity index 100% rename from src/libasr/casting_utils.cpp rename to src/libasr/src/libasr/casting_utils.cpp diff --git a/src/libasr/casting_utils.h b/src/libasr/src/libasr/casting_utils.h similarity index 100% rename from src/libasr/casting_utils.h rename to src/libasr/src/libasr/casting_utils.h diff --git a/src/libasr/codegen/KaleidoscopeJIT.h b/src/libasr/src/libasr/codegen/KaleidoscopeJIT.h similarity index 100% rename from src/libasr/codegen/KaleidoscopeJIT.h rename to src/libasr/src/libasr/codegen/KaleidoscopeJIT.h diff --git a/src/libasr/codegen/asr_to_c.cpp b/src/libasr/src/libasr/codegen/asr_to_c.cpp similarity index 100% rename from src/libasr/codegen/asr_to_c.cpp rename to src/libasr/src/libasr/codegen/asr_to_c.cpp diff --git a/src/libasr/codegen/asr_to_c.h b/src/libasr/src/libasr/codegen/asr_to_c.h similarity index 100% rename from src/libasr/codegen/asr_to_c.h rename to src/libasr/src/libasr/codegen/asr_to_c.h diff --git a/src/libasr/codegen/asr_to_c_cpp.h b/src/libasr/src/libasr/codegen/asr_to_c_cpp.h similarity index 100% rename from src/libasr/codegen/asr_to_c_cpp.h rename to src/libasr/src/libasr/codegen/asr_to_c_cpp.h diff --git a/src/libasr/codegen/asr_to_cpp.cpp b/src/libasr/src/libasr/codegen/asr_to_cpp.cpp similarity index 100% rename from src/libasr/codegen/asr_to_cpp.cpp rename to src/libasr/src/libasr/codegen/asr_to_cpp.cpp diff --git a/src/libasr/codegen/asr_to_cpp.h b/src/libasr/src/libasr/codegen/asr_to_cpp.h similarity index 100% rename from src/libasr/codegen/asr_to_cpp.h rename to src/libasr/src/libasr/codegen/asr_to_cpp.h diff --git a/src/libasr/codegen/asr_to_fortran.cpp b/src/libasr/src/libasr/codegen/asr_to_fortran.cpp similarity index 100% rename from src/libasr/codegen/asr_to_fortran.cpp rename to src/libasr/src/libasr/codegen/asr_to_fortran.cpp diff --git a/src/libasr/codegen/asr_to_fortran.h b/src/libasr/src/libasr/codegen/asr_to_fortran.h similarity index 100% rename from src/libasr/codegen/asr_to_fortran.h rename to src/libasr/src/libasr/codegen/asr_to_fortran.h diff --git a/src/libasr/codegen/asr_to_julia.cpp b/src/libasr/src/libasr/codegen/asr_to_julia.cpp similarity index 100% rename from src/libasr/codegen/asr_to_julia.cpp rename to src/libasr/src/libasr/codegen/asr_to_julia.cpp diff --git a/src/libasr/codegen/asr_to_julia.h b/src/libasr/src/libasr/codegen/asr_to_julia.h similarity index 100% rename from src/libasr/codegen/asr_to_julia.h rename to src/libasr/src/libasr/codegen/asr_to_julia.h diff --git a/src/libasr/codegen/asr_to_llvm.cpp b/src/libasr/src/libasr/codegen/asr_to_llvm.cpp similarity index 100% rename from src/libasr/codegen/asr_to_llvm.cpp rename to src/libasr/src/libasr/codegen/asr_to_llvm.cpp diff --git a/src/libasr/codegen/asr_to_llvm.h b/src/libasr/src/libasr/codegen/asr_to_llvm.h similarity index 100% rename from src/libasr/codegen/asr_to_llvm.h rename to src/libasr/src/libasr/codegen/asr_to_llvm.h diff --git a/src/libasr/codegen/asr_to_py.cpp b/src/libasr/src/libasr/codegen/asr_to_py.cpp similarity index 100% rename from src/libasr/codegen/asr_to_py.cpp rename to src/libasr/src/libasr/codegen/asr_to_py.cpp diff --git a/src/libasr/codegen/asr_to_py.h b/src/libasr/src/libasr/codegen/asr_to_py.h similarity index 100% rename from src/libasr/codegen/asr_to_py.h rename to src/libasr/src/libasr/codegen/asr_to_py.h diff --git a/src/libasr/codegen/asr_to_python.cpp b/src/libasr/src/libasr/codegen/asr_to_python.cpp similarity index 100% rename from src/libasr/codegen/asr_to_python.cpp rename to src/libasr/src/libasr/codegen/asr_to_python.cpp diff --git a/src/libasr/codegen/asr_to_python.h b/src/libasr/src/libasr/codegen/asr_to_python.h similarity index 100% rename from src/libasr/codegen/asr_to_python.h rename to src/libasr/src/libasr/codegen/asr_to_python.h diff --git a/src/libasr/codegen/asr_to_wasm.cpp b/src/libasr/src/libasr/codegen/asr_to_wasm.cpp similarity index 100% rename from src/libasr/codegen/asr_to_wasm.cpp rename to src/libasr/src/libasr/codegen/asr_to_wasm.cpp diff --git a/src/libasr/codegen/asr_to_wasm.h b/src/libasr/src/libasr/codegen/asr_to_wasm.h similarity index 100% rename from src/libasr/codegen/asr_to_wasm.h rename to src/libasr/src/libasr/codegen/asr_to_wasm.h diff --git a/src/libasr/codegen/asr_to_x86.cpp b/src/libasr/src/libasr/codegen/asr_to_x86.cpp similarity index 100% rename from src/libasr/codegen/asr_to_x86.cpp rename to src/libasr/src/libasr/codegen/asr_to_x86.cpp diff --git a/src/libasr/codegen/asr_to_x86.h b/src/libasr/src/libasr/codegen/asr_to_x86.h similarity index 100% rename from src/libasr/codegen/asr_to_x86.h rename to src/libasr/src/libasr/codegen/asr_to_x86.h diff --git a/src/libasr/codegen/c_utils.h b/src/libasr/src/libasr/codegen/c_utils.h similarity index 100% rename from src/libasr/codegen/c_utils.h rename to src/libasr/src/libasr/codegen/c_utils.h diff --git a/src/libasr/codegen/evaluator.cpp b/src/libasr/src/libasr/codegen/evaluator.cpp similarity index 100% rename from src/libasr/codegen/evaluator.cpp rename to src/libasr/src/libasr/codegen/evaluator.cpp diff --git a/src/libasr/codegen/evaluator.h b/src/libasr/src/libasr/codegen/evaluator.h similarity index 100% rename from src/libasr/codegen/evaluator.h rename to src/libasr/src/libasr/codegen/evaluator.h diff --git a/src/libasr/codegen/llvm_array_utils.cpp b/src/libasr/src/libasr/codegen/llvm_array_utils.cpp similarity index 100% rename from src/libasr/codegen/llvm_array_utils.cpp rename to src/libasr/src/libasr/codegen/llvm_array_utils.cpp diff --git a/src/libasr/codegen/llvm_array_utils.h b/src/libasr/src/libasr/codegen/llvm_array_utils.h similarity index 100% rename from src/libasr/codegen/llvm_array_utils.h rename to src/libasr/src/libasr/codegen/llvm_array_utils.h diff --git a/src/libasr/codegen/llvm_utils.cpp b/src/libasr/src/libasr/codegen/llvm_utils.cpp similarity index 100% rename from src/libasr/codegen/llvm_utils.cpp rename to src/libasr/src/libasr/codegen/llvm_utils.cpp diff --git a/src/libasr/codegen/llvm_utils.h b/src/libasr/src/libasr/codegen/llvm_utils.h similarity index 100% rename from src/libasr/codegen/llvm_utils.h rename to src/libasr/src/libasr/codegen/llvm_utils.h diff --git a/src/libasr/codegen/wasm_assembler.h b/src/libasr/src/libasr/codegen/wasm_assembler.h similarity index 100% rename from src/libasr/codegen/wasm_assembler.h rename to src/libasr/src/libasr/codegen/wasm_assembler.h diff --git a/src/libasr/codegen/wasm_decoder.h b/src/libasr/src/libasr/codegen/wasm_decoder.h similarity index 100% rename from src/libasr/codegen/wasm_decoder.h rename to src/libasr/src/libasr/codegen/wasm_decoder.h diff --git a/src/libasr/codegen/wasm_to_wat.cpp b/src/libasr/src/libasr/codegen/wasm_to_wat.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_wat.cpp rename to src/libasr/src/libasr/codegen/wasm_to_wat.cpp diff --git a/src/libasr/codegen/wasm_to_wat.h b/src/libasr/src/libasr/codegen/wasm_to_wat.h similarity index 100% rename from src/libasr/codegen/wasm_to_wat.h rename to src/libasr/src/libasr/codegen/wasm_to_wat.h diff --git a/src/libasr/codegen/wasm_to_x64.cpp b/src/libasr/src/libasr/codegen/wasm_to_x64.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_x64.cpp rename to src/libasr/src/libasr/codegen/wasm_to_x64.cpp diff --git a/src/libasr/codegen/wasm_to_x64.h b/src/libasr/src/libasr/codegen/wasm_to_x64.h similarity index 100% rename from src/libasr/codegen/wasm_to_x64.h rename to src/libasr/src/libasr/codegen/wasm_to_x64.h diff --git a/src/libasr/codegen/wasm_to_x86.cpp b/src/libasr/src/libasr/codegen/wasm_to_x86.cpp similarity index 100% rename from src/libasr/codegen/wasm_to_x86.cpp rename to src/libasr/src/libasr/codegen/wasm_to_x86.cpp diff --git a/src/libasr/codegen/wasm_to_x86.h b/src/libasr/src/libasr/codegen/wasm_to_x86.h similarity index 100% rename from src/libasr/codegen/wasm_to_x86.h rename to src/libasr/src/libasr/codegen/wasm_to_x86.h diff --git a/src/libasr/codegen/wasm_utils.cpp b/src/libasr/src/libasr/codegen/wasm_utils.cpp similarity index 100% rename from src/libasr/codegen/wasm_utils.cpp rename to src/libasr/src/libasr/codegen/wasm_utils.cpp diff --git a/src/libasr/codegen/wasm_utils.h b/src/libasr/src/libasr/codegen/wasm_utils.h similarity index 100% rename from src/libasr/codegen/wasm_utils.h rename to src/libasr/src/libasr/codegen/wasm_utils.h diff --git a/src/libasr/codegen/x86_assembler.cpp b/src/libasr/src/libasr/codegen/x86_assembler.cpp similarity index 100% rename from src/libasr/codegen/x86_assembler.cpp rename to src/libasr/src/libasr/codegen/x86_assembler.cpp diff --git a/src/libasr/codegen/x86_assembler.h b/src/libasr/src/libasr/codegen/x86_assembler.h similarity index 100% rename from src/libasr/codegen/x86_assembler.h rename to src/libasr/src/libasr/codegen/x86_assembler.h diff --git a/src/libasr/colors.h b/src/libasr/src/libasr/colors.h similarity index 100% rename from src/libasr/colors.h rename to src/libasr/src/libasr/colors.h diff --git a/src/libasr/compiler_tester/__init__.py b/src/libasr/src/libasr/compiler_tester/__init__.py similarity index 100% rename from src/libasr/compiler_tester/__init__.py rename to src/libasr/src/libasr/compiler_tester/__init__.py diff --git a/src/libasr/compiler_tester/tester.py b/src/libasr/src/libasr/compiler_tester/tester.py similarity index 100% rename from src/libasr/compiler_tester/tester.py rename to src/libasr/src/libasr/compiler_tester/tester.py diff --git a/src/libasr/config.h.in b/src/libasr/src/libasr/config.h.in similarity index 100% rename from src/libasr/config.h.in rename to src/libasr/src/libasr/config.h.in diff --git a/src/libasr/containers.h b/src/libasr/src/libasr/containers.h similarity index 100% rename from src/libasr/containers.h rename to src/libasr/src/libasr/containers.h diff --git a/src/libasr/dat_convert.py b/src/libasr/src/libasr/dat_convert.py similarity index 100% rename from src/libasr/dat_convert.py rename to src/libasr/src/libasr/dat_convert.py diff --git a/src/libasr/diagnostics.cpp b/src/libasr/src/libasr/diagnostics.cpp similarity index 100% rename from src/libasr/diagnostics.cpp rename to src/libasr/src/libasr/diagnostics.cpp diff --git a/src/libasr/diagnostics.h b/src/libasr/src/libasr/diagnostics.h similarity index 100% rename from src/libasr/diagnostics.h rename to src/libasr/src/libasr/diagnostics.h diff --git a/src/libasr/dwarf_convert.py b/src/libasr/src/libasr/dwarf_convert.py similarity index 100% rename from src/libasr/dwarf_convert.py rename to src/libasr/src/libasr/dwarf_convert.py diff --git a/src/libasr/exception.h b/src/libasr/src/libasr/exception.h similarity index 100% rename from src/libasr/exception.h rename to src/libasr/src/libasr/exception.h diff --git a/src/libasr/gen_pass.py b/src/libasr/src/libasr/gen_pass.py similarity index 100% rename from src/libasr/gen_pass.py rename to src/libasr/src/libasr/gen_pass.py diff --git a/src/libasr/intrinsic_func_registry_util_gen.py b/src/libasr/src/libasr/intrinsic_func_registry_util_gen.py similarity index 100% rename from src/libasr/intrinsic_func_registry_util_gen.py rename to src/libasr/src/libasr/intrinsic_func_registry_util_gen.py diff --git a/src/libasr/location.h b/src/libasr/src/libasr/location.h similarity index 100% rename from src/libasr/location.h rename to src/libasr/src/libasr/location.h diff --git a/src/libasr/lsp_interface.h b/src/libasr/src/libasr/lsp_interface.h similarity index 100% rename from src/libasr/lsp_interface.h rename to src/libasr/src/libasr/lsp_interface.h diff --git a/src/libasr/modfile.cpp b/src/libasr/src/libasr/modfile.cpp similarity index 100% rename from src/libasr/modfile.cpp rename to src/libasr/src/libasr/modfile.cpp diff --git a/src/libasr/modfile.h b/src/libasr/src/libasr/modfile.h similarity index 100% rename from src/libasr/modfile.h rename to src/libasr/src/libasr/modfile.h diff --git a/src/libasr/pass/arr_slice.cpp b/src/libasr/src/libasr/pass/arr_slice.cpp similarity index 100% rename from src/libasr/pass/arr_slice.cpp rename to src/libasr/src/libasr/pass/arr_slice.cpp diff --git a/src/libasr/pass/array_by_data.h b/src/libasr/src/libasr/pass/array_by_data.h similarity index 100% rename from src/libasr/pass/array_by_data.h rename to src/libasr/src/libasr/pass/array_by_data.h diff --git a/src/libasr/pass/array_op.cpp b/src/libasr/src/libasr/pass/array_op.cpp similarity index 100% rename from src/libasr/pass/array_op.cpp rename to src/libasr/src/libasr/pass/array_op.cpp diff --git a/src/libasr/pass/class_constructor.cpp b/src/libasr/src/libasr/pass/class_constructor.cpp similarity index 100% rename from src/libasr/pass/class_constructor.cpp rename to src/libasr/src/libasr/pass/class_constructor.cpp diff --git a/src/libasr/pass/compare.h b/src/libasr/src/libasr/pass/compare.h similarity index 100% rename from src/libasr/pass/compare.h rename to src/libasr/src/libasr/pass/compare.h diff --git a/src/libasr/pass/create_subroutine_from_function.h b/src/libasr/src/libasr/pass/create_subroutine_from_function.h similarity index 100% rename from src/libasr/pass/create_subroutine_from_function.h rename to src/libasr/src/libasr/pass/create_subroutine_from_function.h diff --git a/src/libasr/pass/dead_code_removal.cpp b/src/libasr/src/libasr/pass/dead_code_removal.cpp similarity index 100% rename from src/libasr/pass/dead_code_removal.cpp rename to src/libasr/src/libasr/pass/dead_code_removal.cpp diff --git a/src/libasr/pass/dead_code_removal.h b/src/libasr/src/libasr/pass/dead_code_removal.h similarity index 100% rename from src/libasr/pass/dead_code_removal.h rename to src/libasr/src/libasr/pass/dead_code_removal.h diff --git a/src/libasr/pass/div_to_mul.cpp b/src/libasr/src/libasr/pass/div_to_mul.cpp similarity index 100% rename from src/libasr/pass/div_to_mul.cpp rename to src/libasr/src/libasr/pass/div_to_mul.cpp diff --git a/src/libasr/pass/do_loops.cpp b/src/libasr/src/libasr/pass/do_loops.cpp similarity index 100% rename from src/libasr/pass/do_loops.cpp rename to src/libasr/src/libasr/pass/do_loops.cpp diff --git a/src/libasr/pass/flip_sign.cpp b/src/libasr/src/libasr/pass/flip_sign.cpp similarity index 100% rename from src/libasr/pass/flip_sign.cpp rename to src/libasr/src/libasr/pass/flip_sign.cpp diff --git a/src/libasr/pass/fma.cpp b/src/libasr/src/libasr/pass/fma.cpp similarity index 100% rename from src/libasr/pass/fma.cpp rename to src/libasr/src/libasr/pass/fma.cpp diff --git a/src/libasr/pass/for_all.cpp b/src/libasr/src/libasr/pass/for_all.cpp similarity index 100% rename from src/libasr/pass/for_all.cpp rename to src/libasr/src/libasr/pass/for_all.cpp diff --git a/src/libasr/pass/function_call_in_declaration.cpp b/src/libasr/src/libasr/pass/function_call_in_declaration.cpp similarity index 100% rename from src/libasr/pass/function_call_in_declaration.cpp rename to src/libasr/src/libasr/pass/function_call_in_declaration.cpp diff --git a/src/libasr/pass/global_stmts.cpp b/src/libasr/src/libasr/pass/global_stmts.cpp similarity index 100% rename from src/libasr/pass/global_stmts.cpp rename to src/libasr/src/libasr/pass/global_stmts.cpp diff --git a/src/libasr/pass/implied_do_loops.cpp b/src/libasr/src/libasr/pass/implied_do_loops.cpp similarity index 100% rename from src/libasr/pass/implied_do_loops.cpp rename to src/libasr/src/libasr/pass/implied_do_loops.cpp diff --git a/src/libasr/pass/init_expr.cpp b/src/libasr/src/libasr/pass/init_expr.cpp similarity index 100% rename from src/libasr/pass/init_expr.cpp rename to src/libasr/src/libasr/pass/init_expr.cpp diff --git a/src/libasr/pass/inline_function_calls.cpp b/src/libasr/src/libasr/pass/inline_function_calls.cpp similarity index 100% rename from src/libasr/pass/inline_function_calls.cpp rename to src/libasr/src/libasr/pass/inline_function_calls.cpp diff --git a/src/libasr/pass/inline_function_calls.h b/src/libasr/src/libasr/pass/inline_function_calls.h similarity index 100% rename from src/libasr/pass/inline_function_calls.h rename to src/libasr/src/libasr/pass/inline_function_calls.h diff --git a/src/libasr/pass/insert_deallocate.cpp b/src/libasr/src/libasr/pass/insert_deallocate.cpp similarity index 100% rename from src/libasr/pass/insert_deallocate.cpp rename to src/libasr/src/libasr/pass/insert_deallocate.cpp diff --git a/src/libasr/pass/insert_deallocate.h b/src/libasr/src/libasr/pass/insert_deallocate.h similarity index 100% rename from src/libasr/pass/insert_deallocate.h rename to src/libasr/src/libasr/pass/insert_deallocate.h diff --git a/src/libasr/pass/instantiate_template.cpp b/src/libasr/src/libasr/pass/instantiate_template.cpp similarity index 100% rename from src/libasr/pass/instantiate_template.cpp rename to src/libasr/src/libasr/pass/instantiate_template.cpp diff --git a/src/libasr/pass/instantiate_template.h b/src/libasr/src/libasr/pass/instantiate_template.h similarity index 100% rename from src/libasr/pass/instantiate_template.h rename to src/libasr/src/libasr/pass/instantiate_template.h diff --git a/src/libasr/pass/intrinsic_array_function_registry.h b/src/libasr/src/libasr/pass/intrinsic_array_function_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_array_function_registry.h rename to src/libasr/src/libasr/pass/intrinsic_array_function_registry.h diff --git a/src/libasr/pass/intrinsic_function.cpp b/src/libasr/src/libasr/pass/intrinsic_function.cpp similarity index 100% rename from src/libasr/pass/intrinsic_function.cpp rename to src/libasr/src/libasr/pass/intrinsic_function.cpp diff --git a/src/libasr/pass/intrinsic_function_registry.h b/src/libasr/src/libasr/pass/intrinsic_function_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_function_registry.h rename to src/libasr/src/libasr/pass/intrinsic_function_registry.h diff --git a/src/libasr/pass/intrinsic_functions.h b/src/libasr/src/libasr/pass/intrinsic_functions.h similarity index 100% rename from src/libasr/pass/intrinsic_functions.h rename to src/libasr/src/libasr/pass/intrinsic_functions.h diff --git a/src/libasr/pass/intrinsic_subroutine.cpp b/src/libasr/src/libasr/pass/intrinsic_subroutine.cpp similarity index 100% rename from src/libasr/pass/intrinsic_subroutine.cpp rename to src/libasr/src/libasr/pass/intrinsic_subroutine.cpp diff --git a/src/libasr/pass/intrinsic_subroutine_registry.h b/src/libasr/src/libasr/pass/intrinsic_subroutine_registry.h similarity index 100% rename from src/libasr/pass/intrinsic_subroutine_registry.h rename to src/libasr/src/libasr/pass/intrinsic_subroutine_registry.h diff --git a/src/libasr/pass/intrinsic_subroutines.h b/src/libasr/src/libasr/pass/intrinsic_subroutines.h similarity index 100% rename from src/libasr/pass/intrinsic_subroutines.h rename to src/libasr/src/libasr/pass/intrinsic_subroutines.h diff --git a/src/libasr/pass/list_expr.h b/src/libasr/src/libasr/pass/list_expr.h similarity index 100% rename from src/libasr/pass/list_expr.h rename to src/libasr/src/libasr/pass/list_expr.h diff --git a/src/libasr/pass/loop_unroll.cpp b/src/libasr/src/libasr/pass/loop_unroll.cpp similarity index 100% rename from src/libasr/pass/loop_unroll.cpp rename to src/libasr/src/libasr/pass/loop_unroll.cpp diff --git a/src/libasr/pass/loop_unroll.h b/src/libasr/src/libasr/pass/loop_unroll.h similarity index 100% rename from src/libasr/pass/loop_unroll.h rename to src/libasr/src/libasr/pass/loop_unroll.h diff --git a/src/libasr/pass/loop_vectorise.cpp b/src/libasr/src/libasr/pass/loop_vectorise.cpp similarity index 100% rename from src/libasr/pass/loop_vectorise.cpp rename to src/libasr/src/libasr/pass/loop_vectorise.cpp diff --git a/src/libasr/pass/loop_vectorise.h b/src/libasr/src/libasr/pass/loop_vectorise.h similarity index 100% rename from src/libasr/pass/loop_vectorise.h rename to src/libasr/src/libasr/pass/loop_vectorise.h diff --git a/src/libasr/pass/nested_vars.cpp b/src/libasr/src/libasr/pass/nested_vars.cpp similarity index 100% rename from src/libasr/pass/nested_vars.cpp rename to src/libasr/src/libasr/pass/nested_vars.cpp diff --git a/src/libasr/pass/nested_vars.h b/src/libasr/src/libasr/pass/nested_vars.h similarity index 100% rename from src/libasr/pass/nested_vars.h rename to src/libasr/src/libasr/pass/nested_vars.h diff --git a/src/libasr/pass/param_to_const.cpp b/src/libasr/src/libasr/pass/param_to_const.cpp similarity index 100% rename from src/libasr/pass/param_to_const.cpp rename to src/libasr/src/libasr/pass/param_to_const.cpp diff --git a/src/libasr/pass/pass_array_by_data.cpp b/src/libasr/src/libasr/pass/pass_array_by_data.cpp similarity index 100% rename from src/libasr/pass/pass_array_by_data.cpp rename to src/libasr/src/libasr/pass/pass_array_by_data.cpp diff --git a/src/libasr/pass/pass_compare.cpp b/src/libasr/src/libasr/pass/pass_compare.cpp similarity index 100% rename from src/libasr/pass/pass_compare.cpp rename to src/libasr/src/libasr/pass/pass_compare.cpp diff --git a/src/libasr/pass/pass_list_expr.cpp b/src/libasr/src/libasr/pass/pass_list_expr.cpp similarity index 100% rename from src/libasr/pass/pass_list_expr.cpp rename to src/libasr/src/libasr/pass/pass_list_expr.cpp diff --git a/src/libasr/pass/pass_manager.h b/src/libasr/src/libasr/pass/pass_manager.h similarity index 100% rename from src/libasr/pass/pass_manager.h rename to src/libasr/src/libasr/pass/pass_manager.h diff --git a/src/libasr/pass/pass_utils.cpp b/src/libasr/src/libasr/pass/pass_utils.cpp similarity index 100% rename from src/libasr/pass/pass_utils.cpp rename to src/libasr/src/libasr/pass/pass_utils.cpp diff --git a/src/libasr/pass/pass_utils.h b/src/libasr/src/libasr/pass/pass_utils.h similarity index 100% rename from src/libasr/pass/pass_utils.h rename to src/libasr/src/libasr/pass/pass_utils.h diff --git a/src/libasr/pass/print_arr.cpp b/src/libasr/src/libasr/pass/print_arr.cpp similarity index 100% rename from src/libasr/pass/print_arr.cpp rename to src/libasr/src/libasr/pass/print_arr.cpp diff --git a/src/libasr/pass/print_list_tuple.cpp b/src/libasr/src/libasr/pass/print_list_tuple.cpp similarity index 100% rename from src/libasr/pass/print_list_tuple.cpp rename to src/libasr/src/libasr/pass/print_list_tuple.cpp diff --git a/src/libasr/pass/print_struct_type.cpp b/src/libasr/src/libasr/pass/print_struct_type.cpp similarity index 100% rename from src/libasr/pass/print_struct_type.cpp rename to src/libasr/src/libasr/pass/print_struct_type.cpp diff --git a/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp b/src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp similarity index 100% rename from src/libasr/pass/promote_allocatable_to_nonallocatable.cpp rename to src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.cpp diff --git a/src/libasr/pass/promote_allocatable_to_nonallocatable.h b/src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.h similarity index 100% rename from src/libasr/pass/promote_allocatable_to_nonallocatable.h rename to src/libasr/src/libasr/pass/promote_allocatable_to_nonallocatable.h diff --git a/src/libasr/pass/python_bind.cpp b/src/libasr/src/libasr/pass/python_bind.cpp similarity index 100% rename from src/libasr/pass/python_bind.cpp rename to src/libasr/src/libasr/pass/python_bind.cpp diff --git a/src/libasr/pass/python_bind.h b/src/libasr/src/libasr/pass/python_bind.h similarity index 100% rename from src/libasr/pass/python_bind.h rename to src/libasr/src/libasr/pass/python_bind.h diff --git a/src/libasr/pass/replace_arr_slice.h b/src/libasr/src/libasr/pass/replace_arr_slice.h similarity index 100% rename from src/libasr/pass/replace_arr_slice.h rename to src/libasr/src/libasr/pass/replace_arr_slice.h diff --git a/src/libasr/pass/replace_array_op.h b/src/libasr/src/libasr/pass/replace_array_op.h similarity index 100% rename from src/libasr/pass/replace_array_op.h rename to src/libasr/src/libasr/pass/replace_array_op.h diff --git a/src/libasr/pass/replace_class_constructor.h b/src/libasr/src/libasr/pass/replace_class_constructor.h similarity index 100% rename from src/libasr/pass/replace_class_constructor.h rename to src/libasr/src/libasr/pass/replace_class_constructor.h diff --git a/src/libasr/pass/replace_div_to_mul.h b/src/libasr/src/libasr/pass/replace_div_to_mul.h similarity index 100% rename from src/libasr/pass/replace_div_to_mul.h rename to src/libasr/src/libasr/pass/replace_div_to_mul.h diff --git a/src/libasr/pass/replace_do_loops.h b/src/libasr/src/libasr/pass/replace_do_loops.h similarity index 100% rename from src/libasr/pass/replace_do_loops.h rename to src/libasr/src/libasr/pass/replace_do_loops.h diff --git a/src/libasr/pass/replace_flip_sign.h b/src/libasr/src/libasr/pass/replace_flip_sign.h similarity index 100% rename from src/libasr/pass/replace_flip_sign.h rename to src/libasr/src/libasr/pass/replace_flip_sign.h diff --git a/src/libasr/pass/replace_fma.h b/src/libasr/src/libasr/pass/replace_fma.h similarity index 100% rename from src/libasr/pass/replace_fma.h rename to src/libasr/src/libasr/pass/replace_fma.h diff --git a/src/libasr/pass/replace_for_all.h b/src/libasr/src/libasr/pass/replace_for_all.h similarity index 100% rename from src/libasr/pass/replace_for_all.h rename to src/libasr/src/libasr/pass/replace_for_all.h diff --git a/src/libasr/pass/replace_function_call_in_declaration.h b/src/libasr/src/libasr/pass/replace_function_call_in_declaration.h similarity index 100% rename from src/libasr/pass/replace_function_call_in_declaration.h rename to src/libasr/src/libasr/pass/replace_function_call_in_declaration.h diff --git a/src/libasr/pass/replace_implied_do_loops.h b/src/libasr/src/libasr/pass/replace_implied_do_loops.h similarity index 100% rename from src/libasr/pass/replace_implied_do_loops.h rename to src/libasr/src/libasr/pass/replace_implied_do_loops.h diff --git a/src/libasr/pass/replace_init_expr.h b/src/libasr/src/libasr/pass/replace_init_expr.h similarity index 100% rename from src/libasr/pass/replace_init_expr.h rename to src/libasr/src/libasr/pass/replace_init_expr.h diff --git a/src/libasr/pass/replace_intrinsic_function.h b/src/libasr/src/libasr/pass/replace_intrinsic_function.h similarity index 100% rename from src/libasr/pass/replace_intrinsic_function.h rename to src/libasr/src/libasr/pass/replace_intrinsic_function.h diff --git a/src/libasr/pass/replace_intrinsic_subroutine.h b/src/libasr/src/libasr/pass/replace_intrinsic_subroutine.h similarity index 100% rename from src/libasr/pass/replace_intrinsic_subroutine.h rename to src/libasr/src/libasr/pass/replace_intrinsic_subroutine.h diff --git a/src/libasr/pass/replace_param_to_const.h b/src/libasr/src/libasr/pass/replace_param_to_const.h similarity index 100% rename from src/libasr/pass/replace_param_to_const.h rename to src/libasr/src/libasr/pass/replace_param_to_const.h diff --git a/src/libasr/pass/replace_print_arr.h b/src/libasr/src/libasr/pass/replace_print_arr.h similarity index 100% rename from src/libasr/pass/replace_print_arr.h rename to src/libasr/src/libasr/pass/replace_print_arr.h diff --git a/src/libasr/pass/replace_print_list_tuple.h b/src/libasr/src/libasr/pass/replace_print_list_tuple.h similarity index 100% rename from src/libasr/pass/replace_print_list_tuple.h rename to src/libasr/src/libasr/pass/replace_print_list_tuple.h diff --git a/src/libasr/pass/replace_print_struct_type.h b/src/libasr/src/libasr/pass/replace_print_struct_type.h similarity index 100% rename from src/libasr/pass/replace_print_struct_type.h rename to src/libasr/src/libasr/pass/replace_print_struct_type.h diff --git a/src/libasr/pass/replace_select_case.h b/src/libasr/src/libasr/pass/replace_select_case.h similarity index 100% rename from src/libasr/pass/replace_select_case.h rename to src/libasr/src/libasr/pass/replace_select_case.h diff --git a/src/libasr/pass/replace_sign_from_value.h b/src/libasr/src/libasr/pass/replace_sign_from_value.h similarity index 100% rename from src/libasr/pass/replace_sign_from_value.h rename to src/libasr/src/libasr/pass/replace_sign_from_value.h diff --git a/src/libasr/pass/replace_symbolic.cpp b/src/libasr/src/libasr/pass/replace_symbolic.cpp similarity index 100% rename from src/libasr/pass/replace_symbolic.cpp rename to src/libasr/src/libasr/pass/replace_symbolic.cpp diff --git a/src/libasr/pass/replace_symbolic.h b/src/libasr/src/libasr/pass/replace_symbolic.h similarity index 100% rename from src/libasr/pass/replace_symbolic.h rename to src/libasr/src/libasr/pass/replace_symbolic.h diff --git a/src/libasr/pass/replace_where.h b/src/libasr/src/libasr/pass/replace_where.h similarity index 100% rename from src/libasr/pass/replace_where.h rename to src/libasr/src/libasr/pass/replace_where.h diff --git a/src/libasr/pass/select_case.cpp b/src/libasr/src/libasr/pass/select_case.cpp similarity index 100% rename from src/libasr/pass/select_case.cpp rename to src/libasr/src/libasr/pass/select_case.cpp diff --git a/src/libasr/pass/sign_from_value.cpp b/src/libasr/src/libasr/pass/sign_from_value.cpp similarity index 100% rename from src/libasr/pass/sign_from_value.cpp rename to src/libasr/src/libasr/pass/sign_from_value.cpp diff --git a/src/libasr/pass/stmt_walk_visitor.h b/src/libasr/src/libasr/pass/stmt_walk_visitor.h similarity index 100% rename from src/libasr/pass/stmt_walk_visitor.h rename to src/libasr/src/libasr/pass/stmt_walk_visitor.h diff --git a/src/libasr/pass/subroutine_from_function.cpp b/src/libasr/src/libasr/pass/subroutine_from_function.cpp similarity index 100% rename from src/libasr/pass/subroutine_from_function.cpp rename to src/libasr/src/libasr/pass/subroutine_from_function.cpp diff --git a/src/libasr/pass/transform_optional_argument_functions.cpp b/src/libasr/src/libasr/pass/transform_optional_argument_functions.cpp similarity index 100% rename from src/libasr/pass/transform_optional_argument_functions.cpp rename to src/libasr/src/libasr/pass/transform_optional_argument_functions.cpp diff --git a/src/libasr/pass/transform_optional_argument_functions.h b/src/libasr/src/libasr/pass/transform_optional_argument_functions.h similarity index 100% rename from src/libasr/pass/transform_optional_argument_functions.h rename to src/libasr/src/libasr/pass/transform_optional_argument_functions.h diff --git a/src/libasr/pass/unique_symbols.cpp b/src/libasr/src/libasr/pass/unique_symbols.cpp similarity index 100% rename from src/libasr/pass/unique_symbols.cpp rename to src/libasr/src/libasr/pass/unique_symbols.cpp diff --git a/src/libasr/pass/unique_symbols.h b/src/libasr/src/libasr/pass/unique_symbols.h similarity index 100% rename from src/libasr/pass/unique_symbols.h rename to src/libasr/src/libasr/pass/unique_symbols.h diff --git a/src/libasr/pass/unused_functions.cpp b/src/libasr/src/libasr/pass/unused_functions.cpp similarity index 100% rename from src/libasr/pass/unused_functions.cpp rename to src/libasr/src/libasr/pass/unused_functions.cpp diff --git a/src/libasr/pass/unused_functions.h b/src/libasr/src/libasr/pass/unused_functions.h similarity index 100% rename from src/libasr/pass/unused_functions.h rename to src/libasr/src/libasr/pass/unused_functions.h diff --git a/src/libasr/pass/update_array_dim_intrinsic_calls.cpp b/src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.cpp similarity index 100% rename from src/libasr/pass/update_array_dim_intrinsic_calls.cpp rename to src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.cpp diff --git a/src/libasr/pass/update_array_dim_intrinsic_calls.h b/src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.h similarity index 100% rename from src/libasr/pass/update_array_dim_intrinsic_calls.h rename to src/libasr/src/libasr/pass/update_array_dim_intrinsic_calls.h diff --git a/src/libasr/pass/where.cpp b/src/libasr/src/libasr/pass/where.cpp similarity index 100% rename from src/libasr/pass/where.cpp rename to src/libasr/src/libasr/pass/where.cpp diff --git a/src/libasr/pass/while_else.cpp b/src/libasr/src/libasr/pass/while_else.cpp similarity index 100% rename from src/libasr/pass/while_else.cpp rename to src/libasr/src/libasr/pass/while_else.cpp diff --git a/src/libasr/pass/while_else.h b/src/libasr/src/libasr/pass/while_else.h similarity index 100% rename from src/libasr/pass/while_else.h rename to src/libasr/src/libasr/pass/while_else.h diff --git a/src/libasr/pass/wrap_global_stmts.h b/src/libasr/src/libasr/pass/wrap_global_stmts.h similarity index 100% rename from src/libasr/pass/wrap_global_stmts.h rename to src/libasr/src/libasr/pass/wrap_global_stmts.h diff --git a/src/libasr/pickle.cpp b/src/libasr/src/libasr/pickle.cpp similarity index 100% rename from src/libasr/pickle.cpp rename to src/libasr/src/libasr/pickle.cpp diff --git a/src/libasr/pickle.h b/src/libasr/src/libasr/pickle.h similarity index 100% rename from src/libasr/pickle.h rename to src/libasr/src/libasr/pickle.h diff --git a/src/libasr/runtime/lfortran_intrinsics.c b/src/libasr/src/libasr/runtime/lfortran_intrinsics.c similarity index 100% rename from src/libasr/runtime/lfortran_intrinsics.c rename to src/libasr/src/libasr/runtime/lfortran_intrinsics.c diff --git a/src/libasr/runtime/lfortran_intrinsics.h b/src/libasr/src/libasr/runtime/lfortran_intrinsics.h similarity index 100% rename from src/libasr/runtime/lfortran_intrinsics.h rename to src/libasr/src/libasr/runtime/lfortran_intrinsics.h diff --git a/src/libasr/semantic_exception.h b/src/libasr/src/libasr/semantic_exception.h similarity index 100% rename from src/libasr/semantic_exception.h rename to src/libasr/src/libasr/semantic_exception.h diff --git a/src/libasr/serialization.cpp b/src/libasr/src/libasr/serialization.cpp similarity index 100% rename from src/libasr/serialization.cpp rename to src/libasr/src/libasr/serialization.cpp diff --git a/src/libasr/serialization.h b/src/libasr/src/libasr/serialization.h similarity index 100% rename from src/libasr/serialization.h rename to src/libasr/src/libasr/serialization.h diff --git a/src/libasr/stacktrace.cpp b/src/libasr/src/libasr/stacktrace.cpp similarity index 100% rename from src/libasr/stacktrace.cpp rename to src/libasr/src/libasr/stacktrace.cpp diff --git a/src/libasr/stacktrace.h b/src/libasr/src/libasr/stacktrace.h similarity index 100% rename from src/libasr/stacktrace.h rename to src/libasr/src/libasr/stacktrace.h diff --git a/src/libasr/string_utils.cpp b/src/libasr/src/libasr/string_utils.cpp similarity index 100% rename from src/libasr/string_utils.cpp rename to src/libasr/src/libasr/string_utils.cpp diff --git a/src/libasr/string_utils.h b/src/libasr/src/libasr/string_utils.h similarity index 100% rename from src/libasr/string_utils.h rename to src/libasr/src/libasr/string_utils.h diff --git a/src/libasr/utils.h b/src/libasr/src/libasr/utils.h similarity index 100% rename from src/libasr/utils.h rename to src/libasr/src/libasr/utils.h diff --git a/src/libasr/utils2.cpp b/src/libasr/src/libasr/utils2.cpp similarity index 100% rename from src/libasr/utils2.cpp rename to src/libasr/src/libasr/utils2.cpp diff --git a/src/libasr/wasm_instructions.txt b/src/libasr/src/libasr/wasm_instructions.txt similarity index 100% rename from src/libasr/wasm_instructions.txt rename to src/libasr/src/libasr/wasm_instructions.txt diff --git a/src/libasr/wasm_instructions_visitor.py b/src/libasr/src/libasr/wasm_instructions_visitor.py similarity index 100% rename from src/libasr/wasm_instructions_visitor.py rename to src/libasr/src/libasr/wasm_instructions_visitor.py diff --git a/src/runtime/legacy/CMakeLists.txt b/src/runtime/legacy/CMakeLists.txt index cacc62fba9..7c7469156c 100644 --- a/src/runtime/legacy/CMakeLists.txt +++ b/src/runtime/legacy/CMakeLists.txt @@ -1,16 +1,16 @@ set(SRC - ../../../src/libasr/runtime/lfortran_intrinsics.c + ../../../src/libasr/src/libasr/runtime/lfortran_intrinsics.c ) add_library(lpython_runtime SHARED ${SRC}) -target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(lpython_runtime BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) set_target_properties(lpython_runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:>) add_library(lpython_runtime_static STATIC ${SRC}) -target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr_SOURCE_DIR}/..) -target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr_BINARY_DIR}/..) +target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr/src/libasr_SOURCE_DIR}/..) +target_include_directories(lpython_runtime_static BEFORE PUBLIC ${libasr/src/libasr_BINARY_DIR}/..) set_target_properties(lpython_runtime_static PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../$<0:> From b86a737fc5270b8972489fbd10502971693e1618 Mon Sep 17 00:00:00 2001 From: Ubaid Shaikh Date: Sun, 30 Mar 2025 01:16:35 +0530 Subject: [PATCH 2/5] More libasr dir updates --- .gitignore | 10 +++++----- build0.sh | 10 +++++----- build0_win.xsh | 10 +++++----- ci/build.xsh | 10 +++++----- src/lpython/utils.cpp | 2 +- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index d18b9b6284..c739b763e2 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,7 @@ CPackConfig.cmake CPackSourceConfig.cmake _CPack_Packages /CMakeSettings.json -src/libasr/libasr.a.* +src/libasr/src/libasr/libasr.a.* ## libraries *.a @@ -56,10 +56,10 @@ lpython/ast/ast.py lpython/asr/asr.py src/lpython/ast.h src/lpython/asr.h -src/libasr/asr.h -src/libasr/wasm_visitor.h -src/libasr/pass/intrinsic_function_registry_util.h -src/libasr/config.h +src/libasr/src/libasr/asr.h +src/libasr/src/libasr/wasm_visitor.h +src/libasr/src/libasr/pass/intrinsic_function_registry_util.h +src/libasr/src/libasr/config.h share/jupyter/kernels/fortran/kernel.json share/jupyter/kernels/lpython/kernel.json src/runtime/*.o.empty.c diff --git a/build0.sh b/build0.sh index a69126a45e..be9237dad2 100755 --- a/build0.sh +++ b/build0.sh @@ -8,13 +8,13 @@ ci/version.sh # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) +python libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser (cd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp) diff --git a/build0_win.xsh b/build0_win.xsh index b8bba80f43..c2a86883d9 100644 --- a/build0_win.xsh +++ b/build0_win.xsh @@ -7,13 +7,13 @@ echo @(version) > version # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) +python libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/ci/build.xsh b/ci/build.xsh index 449d89543f..b4ba46b259 100755 --- a/ci/build.xsh +++ b/ci/build.xsh @@ -27,15 +27,15 @@ llvm-config --components bash ci/version.sh # Generate a Fortran ASR from ASR.asdl (C++) -python src/libasr/asdl_cpp.py src/libasr/ASR.asdl src/libasr/asr.h +python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h # Generate a Python AST from Python.asdl (C++) -python src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py -# Generate a wasm_visitor.h from src/libasr/wasm_instructions.txt (C++) -python src/libasr/wasm_instructions_visitor.py +# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) +python libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python src/libasr/intrinsic_func_registry_util_gen.py +python libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/src/lpython/utils.cpp b/src/lpython/utils.cpp index 0dc15e71d4..6ec9cd8d8b 100644 --- a/src/lpython/utils.cpp +++ b/src/lpython/utils.cpp @@ -84,7 +84,7 @@ std::string get_runtime_library_header_dir() char *env_p = std::getenv("LFORTRAN_RUNTIME_LIBRARY_HEADER_DIR"); if (env_p) return env_p; - // The header file is in src/libasr/runtime for development, but in impure + // The header file is in libasr/src/libasr/runtime for development, but in impure // in installed version std::string path; int dirname_length; From bbe75ce942e115d3ed9019db89942426630ee713 Mon Sep 17 00:00:00 2001 From: Ubaid Shaikh Date: Sun, 30 Mar 2025 01:41:35 +0530 Subject: [PATCH 3/5] Add all --- build0.sh | 10 +++++----- build0_win.xsh | 10 +++++----- ci/build.xsh | 10 +++++----- run_tests.py | 2 +- src/bin/lpython.cpp | 10 +++++----- src/libasr/src/libasr/compiler_tester/tester.py | 2 ++ 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/build0.sh b/build0.sh index be9237dad2..c82d478f19 100755 --- a/build0.sh +++ b/build0.sh @@ -8,13 +8,13 @@ ci/version.sh # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h -# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) -python libasr/src/libasr/wasm_instructions_visitor.py +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python libasr/src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser (cd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp) diff --git a/build0_win.xsh b/build0_win.xsh index c2a86883d9..f2b3bd9533 100644 --- a/build0_win.xsh +++ b/build0_win.xsh @@ -7,13 +7,13 @@ echo @(version) > version # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py # Generate a Python AST from Python.asdl (C++) -python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Fortran ASR from ASR.asdl (C++) -python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h -# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) -python libasr/src/libasr/wasm_instructions_visitor.py +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python libasr/src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/ci/build.xsh b/ci/build.xsh index b4ba46b259..53eee140bb 100755 --- a/ci/build.xsh +++ b/ci/build.xsh @@ -27,15 +27,15 @@ llvm-config --components bash ci/version.sh # Generate a Fortran ASR from ASR.asdl (C++) -python libasr/src/libasr/asdl_cpp.py libasr/src/libasr/ASR.asdl libasr/src/libasr/asr.h +python src/libasr/src/libasr/asdl_cpp.py src/libasr/src/libasr/ASR.asdl src/libasr/src/libasr/asr.h # Generate a Python AST from Python.asdl (C++) -python libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h +python src/libasr/src/libasr/asdl_cpp.py grammar/Python.asdl src/lpython/python_ast.h # Generate a Python AST from Python.asdl (Python) python grammar/asdl_py.py -# Generate a wasm_visitor.h from libasr/src/libasr/wasm_instructions.txt (C++) -python libasr/src/libasr/wasm_instructions_visitor.py +# Generate a wasm_visitor.h from src/libasr/src/libasr/wasm_instructions.txt (C++) +python src/libasr/src/libasr/wasm_instructions_visitor.py # Generate the intrinsic_function_registry_util.h (C++) -python libasr/src/libasr/intrinsic_func_registry_util_gen.py +python src/libasr/src/libasr/intrinsic_func_registry_util_gen.py # Generate the tokenizer and parser pushd src/lpython/parser && re2c -W -b tokenizer.re -o tokenizer.cpp && popd diff --git a/run_tests.py b/run_tests.py index 42fb5fb026..064cfd3733 100755 --- a/run_tests.py +++ b/run_tests.py @@ -4,7 +4,7 @@ import os ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__))) -sys.path.append(os.path.join(ROOT_DIR, "src", "libasr")) +sys.path.append(os.path.join(ROOT_DIR, "src", "libasr", "src", "libasr")) from compiler_tester.tester import color, fg, log, run_test, style, tester_main diff --git a/src/bin/lpython.cpp b/src/bin/lpython.cpp index be8af27d0c..582fbe3a45 100644 --- a/src/bin/lpython.cpp +++ b/src/bin/lpython.cpp @@ -856,9 +856,9 @@ int interactive_python_repl( std::cout << " - History (Keys: Up, Down)" << std::endl; std::vector history; - + std::function iscomplete = determine_completeness; - + std::string code_string; size_t cell_count = 0; while (true) { @@ -1013,8 +1013,8 @@ int interactive_python_repl( } case (LCompilers::PythonCompiler::EvalResult::struct_type) : { if (verbose) { - std::cout << "Return type: " - << LCompilers::ASRUtils::get_type_code(r.structure.ttype) + std::cout << "Return type: " + << LCompilers::ASRUtils::get_type_code(r.structure.ttype) << std::endl; } if (verbose) section("Result:"); @@ -2261,7 +2261,7 @@ int main(int argc, char *argv[]) #else cmd += "llvm-dwarfdump --debug-line " + basename + ".out > "; #endif - cmd += basename + "_ldd.txt && (cd src/libasr; ./dwarf_convert.py ../../" + cmd += basename + "_ldd.txt && (cd src/libasr/src/libasr; ./dwarf_convert.py ../../" + basename + "_ldd.txt ../../" + basename + "_lines.txt ../../" + basename + "_lines.dat && ./dat_convert.py ../../" + basename + "_lines.dat)"; diff --git a/src/libasr/src/libasr/compiler_tester/tester.py b/src/libasr/src/libasr/compiler_tester/tester.py index bd6d7e62e5..41cba79b63 100644 --- a/src/libasr/src/libasr/compiler_tester/tester.py +++ b/src/libasr/src/libasr/compiler_tester/tester.py @@ -25,6 +25,8 @@ TESTER_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__))) +if "src/libasr/src/libasr" in TESTER_DIR: + TESTER_DIR = TESTER_DIR.replace("src/libasr", "", 1) LIBASR_DIR = os.path.dirname(TESTER_DIR) SRC_DIR = os.path.dirname(LIBASR_DIR) ROOT_DIR = os.path.dirname(SRC_DIR) From 4af7bb1e0d33cb7a6c4ab871a6a5315b6e002ce6 Mon Sep 17 00:00:00 2001 From: Ubaid Shaikh Date: Sun, 30 Mar 2025 02:18:41 +0530 Subject: [PATCH 4/5] LPython changes for new libasr directory --- grammar/asdl_py.py | 2 +- src/bin/lpython.cpp | 6 +++--- src/lpython/utils.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/grammar/asdl_py.py b/grammar/asdl_py.py index 1e3844131e..ff89bbdc7a 100644 --- a/grammar/asdl_py.py +++ b/grammar/asdl_py.py @@ -5,7 +5,7 @@ import sys import os -sys.path.append("src/libasr") +sys.path.append("src/libasr/src/libasr") import asdl products = [] diff --git a/src/bin/lpython.cpp b/src/bin/lpython.cpp index 582fbe3a45..47296cf2ac 100644 --- a/src/bin/lpython.cpp +++ b/src/bin/lpython.cpp @@ -2261,9 +2261,9 @@ int main(int argc, char *argv[]) #else cmd += "llvm-dwarfdump --debug-line " + basename + ".out > "; #endif - cmd += basename + "_ldd.txt && (cd src/libasr/src/libasr; ./dwarf_convert.py ../../" - + basename + "_ldd.txt ../../" + basename + "_lines.txt ../../" - + basename + "_lines.dat && ./dat_convert.py ../../" + cmd += basename + "_ldd.txt && (cd src/libasr/src/libasr; ./dwarf_convert.py ../../../../" + + basename + "_ldd.txt ../../../../" + basename + "_lines.txt ../../../../" + + basename + "_lines.dat && ./dat_convert.py ../../../../" + basename + "_lines.dat)"; int status = system(cmd.c_str()); if ( status != 0 ) { diff --git a/src/lpython/utils.cpp b/src/lpython/utils.cpp index 6ec9cd8d8b..07754982ad 100644 --- a/src/lpython/utils.cpp +++ b/src/lpython/utils.cpp @@ -94,11 +94,11 @@ std::string get_runtime_library_header_dir() || endswith(dirname, "src\\bin") || endswith(dirname, "SRC\\BIN")) { // Development version - return dirname + "/../libasr/runtime"; + return dirname + "/../libasr/src/libasr/runtime"; } else if (endswith(dirname, "src/lpython/tests") || endswith(to_lower(dirname), "src\\lpython\\tests")) { // CTest Tests - return dirname + "/../../libasr/runtime"; + return dirname + "/../../libasr/src/libasr/runtime"; } else { // Installed version return dirname + "/../share/lpython/lib/impure"; From 6f8f59a5e112e68b2bc9e0b7e24904c9c42ee359 Mon Sep 17 00:00:00 2001 From: Ubaid Shaikh Date: Sun, 30 Mar 2025 02:35:12 +0530 Subject: [PATCH 5/5] Fixes in lpython.py --- src/runtime/lpython/lpython.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/lpython/lpython.py b/src/runtime/lpython/lpython.py index d48be834dd..b37bf6ca08 100644 --- a/src/runtime/lpython/lpython.py +++ b/src/runtime/lpython/lpython.py @@ -717,7 +717,7 @@ def get_rtlib_dir(): get_python_version python_path = "-I" + get_python_inc() + " " numpy_path = "-I" + get_include() + " " - rt_path_01 = "-I" + get_rtlib_dir() + "/../libasr/runtime " + rt_path_01 = "-I" + get_rtlib_dir() + "/../libasr/src/libasr/runtime " rt_path_02 = "-L" + get_rtlib_dir() + " -Wl,-rpath," \ + get_rtlib_dir() + " -llpython_runtime " python_lib = "-L" + get_python_lib() + "/../.." + f" -Wl,-rpath,{get_python_lib()+'/../..'}" + " -lpython" + \