* genrecog.c (write_switch): Check for duplicate CODE cases.
From-SVN: r30276
This commit is contained in:
parent
cb2ec1510d
commit
1e19333726
@ -1,3 +1,7 @@
|
||||
Sat Oct 30 14:38:22 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* genrecog.c (write_switch): Check for duplicate CODE cases.
|
||||
|
||||
Sat Oct 30 14:31:48 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* ggc-common.c: Update pre-function commentary.
|
||||
|
@ -1695,13 +1695,14 @@ write_switch (start, depth)
|
||||
{
|
||||
char codemap[NUM_RTX_CODE];
|
||||
struct decision *ret;
|
||||
RTX_CODE code;
|
||||
|
||||
memset (codemap, 0, sizeof(codemap));
|
||||
|
||||
printf (" switch (GET_CODE (x%d))\n {\n", depth);
|
||||
code = p->tests->u.code;
|
||||
do
|
||||
{
|
||||
RTX_CODE code = p->tests->u.code;
|
||||
printf (" case ");
|
||||
print_code (code);
|
||||
printf (":\n goto L%d;\n", p->success.first->number);
|
||||
@ -1710,7 +1711,10 @@ write_switch (start, depth)
|
||||
codemap[code] = 1;
|
||||
p = p->next;
|
||||
}
|
||||
while (p && p->tests->type == DT_code && !p->tests->next);
|
||||
while (p
|
||||
&& ! p->tests->next
|
||||
&& p->tests->type == DT_code
|
||||
&& ! codemap[code = p->tests->u.code]);
|
||||
|
||||
/* If P is testing a predicate that we know about and we haven't
|
||||
seen any of the codes that are valid for the predicate, we can
|
||||
|
Loading…
Reference in New Issue
Block a user