[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r104322: Merge from gnulib.
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r104322: Merge from gnulib. |
Date: |
Sun, 22 May 2011 14:21:13 -0700 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 104322 [merge]
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sun 2011-05-22 14:21:13 -0700
message:
Merge from gnulib.
modified:
ChangeLog
lib/intprops.h
lib/stdint.in.h
m4/mktime.m4
m4/readlink.m4
=== modified file 'ChangeLog'
--- a/ChangeLog 2011-05-21 09:53:32 +0000
+++ b/ChangeLog 2011-05-22 21:02:48 +0000
@@ -1,3 +1,8 @@
+2011-05-22 Paul Eggert <address@hidden>
+
+ * lib/intprops.h, lib/stdint.in.h, m4/mktime.m4, m4/readlink.m4:
+ Merge from gnulib.
+
2011-05-21 Andreas Schwab <address@hidden>
* Makefile.in (AUTOMAKE_INPUTS): Add $(srcdir)/lib/gnulib.mk.
=== modified file 'lib/intprops.h'
--- a/lib/intprops.h 2011-05-18 00:39:40 +0000
+++ b/lib/intprops.h 2011-05-22 21:02:48 +0000
@@ -27,6 +27,10 @@
E should not have side effects. */
#define _GL_INT_CONVERT(e, v) ((e) - (e) + (v))
+/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. */
+#define _GL_INT_NEGATE_CONVERT(e, v) ((e) - (e) - (v))
+
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
@@ -50,7 +54,7 @@
/* Return 1 if the integer expression E, after integer promotion, has
a signed type. E should not have side effects. */
-#define _GL_INT_SIGNED(e) (_GL_INT_CONVERT (e, -1) < 0)
+#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
/* Minimum and maximum values for integer types and expressions. These
@@ -79,7 +83,7 @@
#define _GL_INT_MAXIMUM(e) \
(_GL_INT_SIGNED (e) \
? _GL_SIGNED_INT_MAXIMUM (e) \
- : _GL_INT_CONVERT (e, -1))
+ : _GL_INT_NEGATE_CONVERT (e, 1))
#define _GL_SIGNED_INT_MAXIMUM(e) \
(((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
@@ -179,16 +183,21 @@
: 0 < (a))
/* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
- See above for restrictions. */
+ See above for restrictions. Avoid && and || as they tickle
+ bugs in Sun C 5.11 2010/08/13 and other compilers; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \
((b) < 0 \
? ((a) < 0 \
? (a) < (max) / (b) \
- : (b) < -1 && (min) / (b) < (a)) \
- : (0 < (b) \
- && ((a) < 0 \
- ? (a) < (min) / (b) \
- : (max) / (b) < (a))))
+ : (b) == -1 \
+ ? 0 \
+ : (min) / (b) < (a)) \
+ : (b) == 0 \
+ ? 0 \
+ : ((a) < 0 \
+ ? (a) < (min) / (b) \
+ : (max) / (b) < (a)))
/* Return 1 if A / B would overflow in [MIN,MAX] arithmetic.
See above for restrictions. Do not check for division by zero. */
@@ -234,11 +243,11 @@
(((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \
|| INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
#define _GL_DIVIDE_OVERFLOW(a, b, min, max) \
- ((min) < 0 ? (b) == _GL_INT_CONVERT (min, -1) && (a) < - (max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
: (a) < 0 ? (b) <= (a) + (b) - 1 \
: (b) < 0 && (a) + (b) <= (a))
#define _GL_REMAINDER_OVERFLOW(a, b, min, max) \
- ((min) < 0 ? (b) == _GL_INT_CONVERT (min, -1) && (a) < - (max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
: (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \
: (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max))
@@ -302,13 +311,10 @@
/* Return 1 if the expression A <op> B would overflow,
where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test,
assuming MIN and MAX are the minimum and maximum for the result type.
-
- This macro assumes that A | B is a valid integer if both A and B are,
- which is true of all known practical hosts. If this is a problem
- for you, please let us know how to fix it for your host. */
+ Arguments should be free of side effects. */
#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \
op_result_overflow (a, b, \
- _GL_INT_MINIMUM ((a) | (b)), \
- _GL_INT_MAXIMUM ((a) | (b)))
+ _GL_INT_MINIMUM ((b) - (b) + (a)), \
+ _GL_INT_MAXIMUM ((b) - (b) + (a)))
#endif /* _GL_INTPROPS_H */
=== modified file 'lib/stdint.in.h'
--- a/lib/stdint.in.h 2011-02-19 07:28:29 +0000
+++ b/lib/stdint.in.h 2011-05-22 21:02:48 +0000
@@ -93,7 +93,7 @@
#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-/* Minimum and maximum values for a integer type under the usual assumption.
+/* Minimum and maximum values for an integer type under the usual assumption.
Return an unspecified value if BITS == 0, adding a check to pacify
picky compilers. */
=== modified file 'm4/mktime.m4'
--- a/m4/mktime.m4 2011-01-30 19:22:02 +0000
+++ b/m4/mktime.m4 2011-05-22 21:02:48 +0000
@@ -1,4 +1,4 @@
-# serial 19
+# serial 20
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2011 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
@@ -234,6 +234,23 @@
fi
])
+AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [
+ AC_REQUIRE([gl_FUNC_MKTIME])
+ if test $REPLACE_MKTIME = 0; then
+ dnl BeOS has __mktime_internal in libc, but other platforms don't.
+ AC_CHECK_FUNC([__mktime_internal],
+ [AC_DEFINE([mktime_internal], [__mktime_internal],
+ [Define to the real name of the mktime_internal function.])
+ ],
+ [dnl mktime works but it doesn't export __mktime_internal,
+ dnl so we need to substitute our own mktime implementation.
+ REPLACE_MKTIME=1
+ AC_LIBOBJ([mktime])
+ gl_PREREQ_MKTIME
+ ])
+ fi
+])
+
# Prerequisites of lib/mktime.c.
AC_DEFUN([gl_PREREQ_MKTIME],
[
=== modified file 'm4/readlink.m4'
--- a/m4/readlink.m4 2011-02-22 19:30:07 +0000
+++ b/m4/readlink.m4 2011-05-22 21:02:48 +0000
@@ -1,4 +1,4 @@
-# readlink.m4 serial 9
+# readlink.m4 serial 10
dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -48,7 +48,8 @@
fi
])
-# Like gl_FUNC_READLINK, except prepare for separate compilation (no
AC_LIBOBJ).
+# Like gl_FUNC_READLINK, except prepare for separate compilation
+# (no REPLACE_READLINK, no AC_LIBOBJ).
AC_DEFUN([gl_FUNC_READLINK_SEPARATE],
[
AC_CHECK_FUNCS_ONCE([readlink])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r104322: Merge from gnulib.,
Paul Eggert <=