From f9e192ecdbfd369fe42da4c9b8a3ab90cfa6f10f Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Tue, 25 Jun 2019 00:13:43 -0700 Subject: [PATCH] Use static inline function for cmp_numbers All callers use it with an unsigned type, so just specialize for uintmax_t. --- include/c.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/include/c.h b/include/c.h index fe82a8847..eb48e7f77 100644 --- a/include/c.h +++ b/include/c.h @@ -153,13 +153,11 @@ umin(uintmax_t x, uintmax_t y) return x < y ? x : y; } -#ifndef cmp_numbers -# define cmp_numbers(x, y) __extension__ ({ \ - __typeof__(x) _a = (x); \ - __typeof__(y) _b = (y); \ - (void) (&_a == &_b); \ - _a == _b ? 0 : _a > _b ? 1 : -1; }) -#endif +static inline uintmax_t +cmp_numbers(uintmax_t x, uintmax_t y) +{ + return x == y ? 0 : x > y ? 1 : -1; +} #ifndef offsetof #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) -- 2.31.1