diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-10-21 18:32:23 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2013-10-21 18:32:23 +0000 |
commit | 67b5215c7642f7436210b4501c445a42f5846fdd (patch) | |
tree | c428c7e73d5606ac395dd73b9723b83e18d58202 /gcc | |
parent | 0a873daac0eb17d86b867a1e7e679bd5385b7bc9 (diff) | |
download | gcc-67b5215c7642f7436210b4501c445a42f5846fdd.zip gcc-67b5215c7642f7436210b4501c445a42f5846fdd.tar.gz gcc-67b5215c7642f7436210b4501c445a42f5846fdd.tar.bz2 |
system.h: Move hwint.h include further down.
gcc/
* system.h: Move hwint.h include further down.
* hwint.h (sext_hwi, zext_hwi): Define unconditionally. Add
gcc_checking_asserts.
* hwint.c (sext_hwi, zext_hwi): Delete ENABLE_CHECKING versions.
From-SVN: r203906
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/hwint.c | 32 | ||||
-rw-r--r-- | gcc/hwint.h | 14 | ||||
-rw-r--r-- | gcc/system.h | 6 |
4 files changed, 15 insertions, 44 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e839517..e34ff7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-10-21 Richard Sandiford <rdsandiford@googlemail.com> + + * system.h: Move hwint.h include further down. + * hwint.h (sext_hwi, zext_hwi): Define unconditionally. Add + gcc_checking_asserts. + * hwint.c (sext_hwi, zext_hwi): Delete ENABLE_CHECKING versions. + 2013-10-21 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix volatile issues in optimize_bit_field_compare. diff --git a/gcc/hwint.c b/gcc/hwint.c index 9e99dd9..f47be4a 100644 --- a/gcc/hwint.c +++ b/gcc/hwint.c @@ -204,35 +204,3 @@ least_common_multiple (HOST_WIDE_INT a, HOST_WIDE_INT b) { return mul_hwi (abs_hwi (a) / gcd (a, b), abs_hwi (b)); } - -#ifdef ENABLE_CHECKING -/* Sign extend SRC starting from PREC. */ - -HOST_WIDE_INT -sext_hwi (HOST_WIDE_INT src, unsigned int prec) -{ - gcc_checking_assert (prec <= HOST_BITS_PER_WIDE_INT); - - if (prec == HOST_BITS_PER_WIDE_INT) - return src; - else - { - int shift = HOST_BITS_PER_WIDE_INT - prec; - return (src << shift) >> shift; - } -} - -/* Zero extend SRC starting from PREC. */ - -unsigned HOST_WIDE_INT -zext_hwi (unsigned HOST_WIDE_INT src, unsigned int prec) -{ - gcc_checking_assert (prec <= HOST_BITS_PER_WIDE_INT); - - if (prec == HOST_BITS_PER_WIDE_INT) - return src; - else - return src & (((HOST_WIDE_INT)1 << prec) - 1); -} - -#endif diff --git a/gcc/hwint.h b/gcc/hwint.h index d2c2ec3..77ae642 100644 --- a/gcc/hwint.h +++ b/gcc/hwint.h @@ -322,9 +322,6 @@ extern HOST_WIDE_INT least_common_multiple (HOST_WIDE_INT, HOST_WIDE_INT); /* Sign extend SRC starting from PREC. */ -#ifdef ENABLE_CHECKING -extern HOST_WIDE_INT sext_hwi (HOST_WIDE_INT, unsigned int); -#else static inline HOST_WIDE_INT sext_hwi (HOST_WIDE_INT src, unsigned int prec) { @@ -332,24 +329,23 @@ sext_hwi (HOST_WIDE_INT src, unsigned int prec) return src; else { + gcc_checking_assert (prec < HOST_BITS_PER_WIDE_INT); int shift = HOST_BITS_PER_WIDE_INT - prec; return (src << shift) >> shift; } } -#endif /* Zero extend SRC starting from PREC. */ -#ifdef ENABLE_CHECKING -extern unsigned HOST_WIDE_INT zext_hwi (unsigned HOST_WIDE_INT, unsigned int); -#else static inline unsigned HOST_WIDE_INT zext_hwi (unsigned HOST_WIDE_INT src, unsigned int prec) { if (prec == HOST_BITS_PER_WIDE_INT) return src; else - return src & (((HOST_WIDE_INT)1 << prec) - 1); + { + gcc_checking_assert (prec < HOST_BITS_PER_WIDE_INT); + return src & (((HOST_WIDE_INT) 1 << prec) - 1); + } } -#endif #endif /* ! GCC_HWINT_H */ diff --git a/gcc/system.h b/gcc/system.h index ce817d4..a1fc6de 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -273,9 +273,6 @@ extern int errno; # include <limits.h> #endif -/* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */ -#include "hwint.h" - /* A macro to determine whether a VALUE lies inclusively within a certain range without evaluating the VALUE more than once. This macro won't warn if the VALUE is unsigned and the LOWER bound is @@ -1063,4 +1060,7 @@ helper_const_non_const_cast (const char *p) #define DEBUG_VARIABLE #endif +/* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */ +#include "hwint.h" + #endif /* ! GCC_SYSTEM_H */ |