Skip to content

Commit f669bce

Browse files
authored
Merge pull request #2155 from czgdp1807/verify
Avoid verifying ``IntrinsicFunction`` if ``check_external`` is ``False``
2 parents 851f878 + a856dc0 commit f669bce

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/libasr/asr_verify.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,10 @@ class VerifyVisitor : public BaseWalkVisitor<VerifyVisitor>
974974
}
975975

976976
void visit_IntrinsicFunction(const ASR::IntrinsicFunction_t& x) {
977+
if( !check_external ) {
978+
BaseWalkVisitor<VerifyVisitor>::visit_IntrinsicFunction(x);
979+
return ;
980+
}
977981
ASRUtils::verify_function verify_ = ASRUtils::IntrinsicFunctionRegistry
978982
::get_verify_function(x.m_intrinsic_id);
979983
LCOMPILERS_ASSERT(verify_ != nullptr);

src/libasr/serialization.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,14 @@ ASR::asr_t* deserialize_asr(Allocator &al, const std::string &s,
399399
ASR::FixParentSymtabVisitor p;
400400
p.visit_TranslationUnit(*tu);
401401

402+
#if defined(WITH_LFORTRAN_ASSERT)
403+
diag::Diagnostics diagnostics;
404+
if (!asr_verify(*tu, false, diagnostics)) {
405+
std::cerr << diagnostics.render2();
406+
throw LCompilersException("Verify failed");
407+
};
408+
#endif
409+
402410
return node;
403411
}
404412

0 commit comments

Comments
 (0)