In iverilog 12, signals can be declared after use. In devel, this is no longer supported.
I'm not sure if declare after use is technically valid, but it would be nice to at least have an option to support it as I have a body of existing code that relies on this style.
I believe the change that introduced this was 649fbb9.