diff --git a/src/libasr/pass/global_symbols.cpp b/src/libasr/pass/global_symbols.cpp index eca6ff833a..011c749b2d 100644 --- a/src/libasr/pass/global_symbols.cpp +++ b/src/libasr/pass/global_symbols.cpp @@ -17,6 +17,9 @@ namespace LCompilers { void pass_wrap_global_syms_into_module(Allocator &al, ASR::TranslationUnit_t &unit, const LCompilers::PassOptions &/*pass_options*/) { + if( unit.m_global_scope->get_scope().size() == 0 ) { + return ; + } Location loc = unit.base.base.loc; char *module_name = s2c(al, "_global_symbols"); SymbolTable *module_scope = al.make_new(unit.m_global_scope);