core: fix handling of switch statements with unreachable declarations
If you have code like:
switch(foo) {
int a;
case 1:
frob();
The declaration of "a" is not reachable. There are some scripts which want
to set the state of "a" to &undefined, but we don't allow setting of states
in unreachable code. At least we shouldn't, but there was a bug introduced
and we do. This patch changes it back to the not allowing people to set
states in unreachable code.
The reason we don't allow it, is because if we don't have a proper slist
then merge_slist() improperly sets the unbalanced stuff to &undefined.
Signed-off-by: Dan Carpenter <error27@gmail.com>