diff options
| -rw-r--r-- | tccgen.c | 8 | ||||
| -rw-r--r-- | tests/tcctest.c | 3 |
2 files changed, 9 insertions, 2 deletions
@@ -4881,8 +4881,12 @@ static void label_or_decl(int l) decl(l); } -static int case_cmp(const void *a, const void *b) -{ return (*(struct case_t**) a)->v1 - (*(struct case_t**) b)->v1; } +static int case_cmp(const void *pa, const void *pb) +{ + int a = (*(struct case_t**) pa)->v1; + int b = (*(struct case_t**) pb)->v1; + return a < b ? -1 : a > b; +} static void block(int *bsym, int *csym, int is_expr) { diff --git a/tests/tcctest.c b/tests/tcctest.c index 9a4d0ef..5e9b07f 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -1554,6 +1554,9 @@ void switch_test() case 3: printf("b"); break; + case 0xc33c6b9fU: + case 0x7c9eeeb9U: + break; } } printf("\n"); |
