diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/hwint.c | 16 | ||||
-rw-r--r-- | gcc/hwint.h | 17 |
3 files changed, 22 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b399b6e..b8009b18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-12-16 Jan Hubicka <hubicka@ucw.cz> + + * hwint.c (abs_hwi, absu_hwi): Move to ... + * hwint.h (abs_hwi, absu_hwi): ... here; make inline. + 2014-12-16 Marek Polacek <polacek@redhat.com> PR middle-end/64309 diff --git a/gcc/hwint.c b/gcc/hwint.c index 9d0569b..405118e 100644 --- a/gcc/hwint.c +++ b/gcc/hwint.c @@ -124,22 +124,6 @@ popcount_hwi (unsigned HOST_WIDE_INT x) #endif /* GCC_VERSION < 3004 */ -/* Compute the absolute value of X. */ - -HOST_WIDE_INT -abs_hwi (HOST_WIDE_INT x) -{ - gcc_checking_assert (x != HOST_WIDE_INT_MIN); - return x >= 0 ? x : -x; -} - -/* Compute the absolute value of X as an unsigned type. */ - -unsigned HOST_WIDE_INT -absu_hwi (HOST_WIDE_INT x) -{ - return x >= 0 ? (unsigned HOST_WIDE_INT)x : -(unsigned HOST_WIDE_INT)x; -} /* Compute the greatest common divisor of two numbers A and B using Euclid's algorithm. */ diff --git a/gcc/hwint.h b/gcc/hwint.h index fd961fd..8e1c8f5 100644 --- a/gcc/hwint.h +++ b/gcc/hwint.h @@ -264,4 +264,21 @@ zext_hwi (unsigned HOST_WIDE_INT src, unsigned int prec) } } +/* Compute the absolute value of X. */ + +inline HOST_WIDE_INT +abs_hwi (HOST_WIDE_INT x) +{ + gcc_checking_assert (x != HOST_WIDE_INT_MIN); + return x >= 0 ? x : -x; +} + +/* Compute the absolute value of X as an unsigned type. */ + +inline unsigned HOST_WIDE_INT +absu_hwi (HOST_WIDE_INT x) +{ + return x >= 0 ? (unsigned HOST_WIDE_INT)x : -(unsigned HOST_WIDE_INT)x; +} + #endif /* ! GCC_HWINT_H */ |