From 9a5a5d1cb022aeeb07cc2640ec9c1ce0a59a0a2e Mon Sep 17 00:00:00 2001 From: Vladimir Marangozov Date: Wed, 12 Jul 2000 03:02:16 +0000 Subject: [PATCH] Checks whether right shift extends the sign bit. Patch by Thomas Wouters with small changes of mine (in main(), use return instead of exit). Closes patch #100832 (but I can't assign it to myself, nor close it -- sorry) --- configure.in | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/configure.in b/configure.in index 46dd5f1d2ef..763bfbde268 100644 --- a/configure.in +++ b/configure.in @@ -1136,6 +1136,19 @@ AC_MSG_RESULT($usable_wchar_t) # check for endianness AC_C_BIGENDIAN +# Check whether right shifting a negative integer extends the sign bit +# or fills with zeros (like the Cray J90, according to Tim Peters). +AC_MSG_CHECKING(whether right shift extends the sign bit) +AC_TRY_RUN([ +int main() +{ + return ((-1)>>3 == -1) ? 1 : 0; +} +], +[AC_DEFINE(SIGNED_RIGHT_SHIFT_ZERO_FILLS) + AC_MSG_RESULT(yes)], +[AC_MSG_RESULT(no)]) + # THIS MUST BE LAST, IT CAN BREAK OTHER TESTS! # Add sys/socket.h to confdefs.h cat >> confdefs.h <<\EOF