At least 2 bug configurations have been highlighted:
1: Conflict in the emitted C code between the array descriptor structures when arrays are declared inside successive scopes.
2: Conflict in the emitted C code between local UDT structures (same UDT name) + instances when declarations are inside consecutive scopes.
A double scoping fixes the problem.
For more details and code examples (bug, and no bug with workaround), see on forum at posts:
(1) http://www.freebasic.net/forum/viewtopic.php?p=226636#p226636
(2) http://www.freebasic.net/forum/viewtopic.php?p=226652#p226652
Fixed at:
https://sourceforge.net/p/fbc/code/ci/e060740bdeafad4c38fb9222d87771b45724314a/tree/