From 0174997a11503d665901689e11d2e88b5f27d552 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 20 Jan 2006 12:12:24 +0000 Subject: [PATCH] stmt.c (case_bit_test_cmp): Stabilize the sort using code label numbers. * stmt.c (case_bit_test_cmp): Stabilize the sort using code label numbers. From-SVN: r110021 --- gcc/ChangeLog | 5 +++++ gcc/stmt.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cf2a597d4a13..a59ac958ab35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-20 Richard Sandiford + + * stmt.c (case_bit_test_cmp): Stabilize the sort using code + label numbers. + 2006-01-20 Richard Guenther Steven Bosscher diff --git a/gcc/stmt.c b/gcc/stmt.c index 02ec490d9280..e2ceaf578c55 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -2170,7 +2170,11 @@ case_bit_test_cmp (const void *p1, const void *p2) const struct case_bit_test *d1 = p1; const struct case_bit_test *d2 = p2; - return d2->bits - d1->bits; + if (d2->bits != d1->bits) + return d2->bits - d1->bits; + + /* Stabilize the sort. */ + return CODE_LABEL_NUMBER (d2->label) - CODE_LABEL_NUMBER (d1->label); } /* Expand a switch statement by a short sequence of bit-wise