From 5253174cd175eeffd54c970309990dfb5cb7a6d1 Mon Sep 17 00:00:00 2001 From: Shaikh Ubaid Date: Tue, 19 Sep 2023 18:50:38 +0530 Subject: [PATCH] C: Fix passing array elements as reference --- src/libasr/codegen/asr_to_c_cpp.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libasr/codegen/asr_to_c_cpp.h b/src/libasr/codegen/asr_to_c_cpp.h index d6d26bd603..df01b5bda7 100644 --- a/src/libasr/codegen/asr_to_c_cpp.h +++ b/src/libasr/codegen/asr_to_c_cpp.h @@ -1072,6 +1072,14 @@ PyMODINIT_FUNC PyInit_lpython_module_)" + fn_name + R"((void) { } else { args += src; } + } else if (ASR::is_a(*m_args[i].m_value)) { + ASR::Variable_t* param = ASRUtils::EXPR2VAR(f->m_args[i]); + if (param->m_intent == ASRUtils::intent_inout + || param->m_intent == ASRUtils::intent_out || ASR::is_a(*type)) { + args += "&" + src; + } else { + args += src; + } } else { if( ASR::is_a(*type) ) { args += "&" + src;