This reapplies aba6bb0820, which was reverted in 28e2a89121 due to bot failures. It contains fixes to silence warnings for uncovered switches, and for incorrect initializer-symbol handling on ELF and COFF.
aba6bb0820
28e2a89121