Commit 3afdfae8 by Tom Tromey Committed by Tom Tromey

* check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.

From-SVN: r47860
parent d7a5e253
2001-12-10 Tom Tromey <tromey@redhat.com>
* check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT.
Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
* Make-lang.in (jvspec.o): Add $(OUTPUT_OPTION).
......
......@@ -429,9 +429,6 @@ struct alternatives
struct alternatives * alternatives = NULL;
/* True if we've seen a DEFAULT_EXPR for the current SWITCH_EXPR. */
static int current_switch_has_default;
/* Begin handling a control flow branch.
BEFORE is the state of [un]assigned variables on entry.
CURRENT is a struct alt to manage the branch alternatives. */
......@@ -689,9 +686,7 @@ check_init (exp, before)
case SWITCH_EXPR:
{
struct alternatives alt;
int saved_current_switch_has_default = current_switch_has_default;
word buf[2];
current_switch_has_default = 0;
check_init (TREE_OPERAND (exp, 0), before);
BEGIN_ALTERNATIVES (before, alt);
alt.saved = ALLOC_BUFFER(buf, num_current_words);
......@@ -699,19 +694,14 @@ check_init (exp, before)
alt.block = exp;
check_init (TREE_OPERAND (exp, 1), before);
done_alternative (before, &alt);
if (! current_switch_has_default)
{
if (! SWITCH_HAS_DEFAULT (exp))
done_alternative (alt.saved, &alt);
}
FREE_BUFFER(alt.saved, buf);
END_ALTERNATIVES (before, alt);
current_switch_has_default = saved_current_switch_has_default;
return;
}
case DEFAULT_EXPR:
current_switch_has_default = 1;
/* .. then fall through ... */
case CASE_EXPR:
case DEFAULT_EXPR:
{
int i;
struct alternatives *alt = alternatives;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment