tests: Fix test case not being run because it had the same id like another
Disallow SHARED var initializers using non-SHARED STATICs (fixes #675)

Non-SHARED STATICs live in their parent procedure's scope, not the global
namespace, so they will be emitted and deleted before any SHAREDs, causing
any references from SHARED var initializers to become dangling pointers.

This can only happen in the implicit main() scope, as STATICs inside
(explicit) procedures aren't visible to SHARED variable declarations on
the outside.

Thus it's an edge case and I think should simply be disallowed, even
though in theory it'd probably be possible to emit the globals earlier
to work around the dangling pointer problem.