From 335684caf7c1bc6c41c0ccb6387eb9c411a2d9a1 Mon Sep 17 00:00:00 2001 From: Irmen de Jong Date: Fri, 21 Aug 2020 03:01:07 +0200 Subject: [PATCH] don't remove asmsub definitions... --- compiler/src/prog8/optimizer/UnusedCodeRemover.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/src/prog8/optimizer/UnusedCodeRemover.kt b/compiler/src/prog8/optimizer/UnusedCodeRemover.kt index 8c5e8ac63..e57a16e19 100644 --- a/compiler/src/prog8/optimizer/UnusedCodeRemover.kt +++ b/compiler/src/prog8/optimizer/UnusedCodeRemover.kt @@ -18,8 +18,9 @@ internal class UnusedCodeRemover(private val errors: ErrorReporter): AstWalker() val entrypoint = program.entrypoint() program.modules.forEach { callgraph.forAllSubroutines(it) { sub -> - if (sub !== entrypoint && !sub.keepAlways && (callgraph.calledBy[sub].isNullOrEmpty() || (sub.containsNoCodeNorVars() && !sub.isAsmSubroutine))) + if (sub !== entrypoint && !sub.isAsmSubroutine && (callgraph.calledBy[sub].isNullOrEmpty() || sub.containsNoCodeNorVars())) { removals.add(IAstModification.Remove(sub, sub.definingScope() as Node)) + } } }