Skip to content

Imports Fails When Import From Files: Links To #1611 Issue #1612

Open
@ronnuriel

Description

@ronnuriel

Imports from import file fails

Lets create bar.py (bar.py is in the same directory as expr7)
bar.py:

from expr7 import test_pow

def main():
	test_pow()
 
main()

expr7.py:

from ltypes import i32

def test_pow():
    a: i32
    a = i32(pow(2, 2))

def test_pow_1(a: i32, b: i32) -> i32:
    res: i32
    res = i32(pow(a, b))
    return res

def main0():
    test_pow()
    c: i32
    c = test_pow_1(1, 2)

main0()

*** Please notice main0() call

Run:
lpython --show-c -I . bar.py

Getting the following error

ASR verify pass error: ASR verify: SubroutineCall::m_name 'main0' cannot point outside of its symbol table
Internal Compiler Error: Unhandled exception
Traceback (most recent call last):
  File "/Users/ronnuriel/git/lpython/src/bin/lpython.cpp", line 1609
    return emit_c(arg_file, runtime_library_dir, compiler_options);
  File "/Users/ronnuriel/git/lpython/src/bin/lpython.cpp", line 288
    r1 = LCompilers::LPython::python_ast_to_asr(al, lm, *ast, diagnostics, compiler_options, true, infile);
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 6235
    auto res = symbol_table_visitor(al, lm, *ast_m, diagnostics, main_module,
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 3814
    v.visit_Module(ast);
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 3302
    visit_stmt(*x.m_body[i]);
  File "/Users/ronnuriel/git/lpython/src/lpython/python_ast.h", line 1882
    void visit_stmt(const stmt_t &b) { visit_stmt_t(b, self()); }
  File "/Users/ronnuriel/git/lpython/src/lpython/python_ast.h", line 1768
    case stmtType::Import: { v.visit_Import((const Import_t &)x); return; }
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 3635
    t = (ASR::symbol_t*)(load_module(al, st,
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 365
    mod1 = compile_module_till_asr(al, rl_path, infile, loc, diagnostics,
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 272
    Result<ASR::TranslationUnit_t*> r2 = python_ast_to_asr(al, lm, *ast,
  File "/Users/ronnuriel/git/lpython/src/lpython/semantics/python_ast_to_asr.cpp", line 6262
    throw LCompilersException("Verify failed");
LCompilersException: Verify failed

Metadata

Metadata

Assignees

No one assigned

    Labels

    asrASR related changescLabel for C language related changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions