Remove unused Libmaincil module#165
Conversation
It calls initCIL at top level when linked with -linkall.
|
It indeed appears unused, so we can remove it. However, I agree with @stilscher that the root cause for the issue in gobview is probably different: There we have no guarantee all modules have been loaded before the main code of gobview is run. Until we can guarantee that, everything depends on the order in which the compiler (the runtime?) decides to load modules. |
That's what goblint/gobview#39 does the same way that native Goblint. |
CHANGES: * Add `Return` statement expression location (goblint/cil#167). * Add `availability` attribute support (goblint/cil#168, goblint/cil#171). * Remove unused `Libmaincil` module (goblint/cil#165). * Fix some synthetic locations (goblint/cil#166, goblint/cil#167).
CHANGES: * Add `Return` statement expression location (goblint/cil#167). * Add `availability` attribute support (goblint/cil#168, goblint/cil#171). * Remove unused `Libmaincil` module (goblint/cil#165). * Fix some synthetic locations (goblint/cil#166, goblint/cil#167).
It calls
initCILat top level when linked with-linkall. This is unexpected, because in Goblint we explicitly callinitCIL, but that's actually no-op and wouldn't account for runtime changes toMachdepand whatever else mutableinitCILreads.This indirectly causes goblint/gobview#38. In non-
devdune profile, jsoo now runs global dead code detection which is more aggressive than what the native compiler can on a per-module basis.The goal here is to remove this unnecessary module from CIL and fix Goblint to not read what
initCILwrites in top-level expressions. I'll open a follow-up Goblint PR for that.