emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115037: Merge from gnulib.


From: Paul Eggert
Subject: [Emacs-diffs] trunk r115037: Merge from gnulib.
Date: Fri, 08 Nov 2013 16:24:45 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115037
revision-id: address@hidden
parent: address@hidden
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Fri 2013-11-08 08:24:40 -0800
message:
  Merge from gnulib.
  
  This incorporates:
  2013-11-08 extern-inline: port better to OS X 10.9
  2013-11-08 fpending: fix regression on DragonFly BSD
  * lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4:
  Update from gnulib.
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  lib/fpending.h                 fpending.h-20121103185247-mt4iwdj4emfl43gz-4
  m4/extern-inline.m4            
externinline.m4-20120802044541-is9k4clv7vxbxmzw-4
  m4/fpending.m4                 fpending.m4-20121103185247-mt4iwdj4emfl43gz-6
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/gmalloc.c                  gmalloc.c-20091113204419-o5vbwnq5f7feedwu-1085
=== modified file 'ChangeLog'
--- a/ChangeLog 2013-11-07 05:31:04 +0000
+++ b/ChangeLog 2013-11-08 16:24:40 +0000
@@ -1,3 +1,11 @@
+2013-11-08  Paul Eggert  <address@hidden>
+
+       Merge from gnulib, incorporating:
+       2013-11-08 extern-inline: port better to OS X 10.9
+       2013-11-08 fpending: fix regression on DragonFly BSD
+       * lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4:
+       Update from gnulib.
+
 2013-11-07  Paul Eggert  <address@hidden>
 
        Port to C11 aligned_alloc.

=== modified file 'lib/fpending.h'
--- a/lib/fpending.h    2013-10-23 04:01:46 +0000
+++ b/lib/fpending.h    2013-11-08 16:24:40 +0000
@@ -24,6 +24,6 @@
 # include <stdio_ext.h>
 #endif
 
-#ifndef __fpending
+#if !HAVE_DECL___FPENDING
 size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE;
 #endif

=== modified file 'm4/extern-inline.m4'
--- a/m4/extern-inline.m4       2013-10-23 04:01:46 +0000
+++ b/m4/extern-inline.m4       2013-11-08 16:24:40 +0000
@@ -1,4 +1,3 @@
-# extern-inline.m4 serial 2
 dnl 'extern inline' a la ISO C99.
 
 dnl Copyright 2012-2013 Free Software Foundation, Inc.
@@ -20,15 +19,20 @@
    'reference to static identifier "f" in extern inline function'.
    This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 
-   Suppress the use of extern inline on problematic Apple configurations, as
-   Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
+   Suppress the use of extern inline on problematic Apple configurations.
+   OS X 10.8 and earlier mishandle it; see, e.g.,
    <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
    Perhaps Apple will fix this some day.  */
 #if (defined __APPLE__ \
-     && ((! defined _DONT_USE_CTYPE_INLINE_ \
-          && (defined __GNUC__ || defined __cplusplus)) \
-         || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
-             && defined __GNUC__ && ! defined __cplusplus)))
+     && (defined __header_inline \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
 # define _GL_EXTERN_INLINE_APPLE_BUG
 #endif
 #if ((__GNUC__ \

=== modified file 'm4/fpending.m4'
--- a/m4/fpending.m4    2013-08-12 00:52:17 +0000
+++ b/m4/fpending.m4    2013-11-08 16:24:40 +0000
@@ -1,4 +1,4 @@
-# serial 20
+# serial 21
 
 # Copyright (C) 2000-2001, 2004-2013 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -16,19 +16,23 @@
 AC_DEFUN([gl_FUNC_FPENDING],
 [
   AC_CHECK_HEADERS_ONCE([stdio_ext.h])
+  fp_headers='
+    #include <stdio.h>
+    #if HAVE_STDIO_EXT_H
+    # include <stdio_ext.h>
+    #endif
+  '
   AC_CACHE_CHECK([for __fpending], [gl_cv_func___fpending],
     [
       AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[#include <stdio.h>
-             #if HAVE_STDIO_EXT_H
-             # include <stdio_ext.h>
-             #endif
-           ]],
+        [AC_LANG_PROGRAM([$fp_headers],
            [[return ! __fpending (stdin);]])],
         [gl_cv_func___fpending=yes],
         [gl_cv_func___fpending=no])
     ])
+  if test $gl_cv_func___fpending = yes; then
+    AC_CHECK_DECLS([__fpending], [], [], [$fp_headers])
+  fi
 ])
 
 AC_DEFUN([gl_PREREQ_FPENDING],

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-11-08 10:21:35 +0000
+++ b/src/ChangeLog     2013-11-08 16:24:40 +0000
@@ -16,6 +16,8 @@
 
 2013-11-08  Paul Eggert  <address@hidden>
 
+       * gmalloc.c (special_realloc, calloc, mallochook): Use tail calls.
+
        * chartab.c (make_sub_char_table): Fix size typo (Bug#15825).
        This bug was introduced in my 2013-06-21 change, and caused
        struct Lisp_Sub_Char_Table objects to be given too many slots,

=== modified file 'src/gmalloc.c'
--- a/src/gmalloc.c     2013-11-07 05:31:04 +0000
+++ b/src/gmalloc.c     2013-11-08 16:24:40 +0000
@@ -1307,8 +1307,8 @@
     type == 0 ? bss_sbrk_heapinfo[block].busy.info.size * BLOCKSIZE
     : (size_t) 1 << type;
   result = _malloc_internal_nolock (size);
-  if (result != NULL)
-    memcpy (result, ptr, min (oldsize, size));
+  if (result)
+    return memcpy (result, ptr, min (oldsize, size));
   return result;
 }
 #endif
@@ -1501,7 +1501,7 @@
 
   result = malloc (bytes);
   if (result)
-    memset (result, 0, bytes);
+    return memset (result, 0, bytes);
   return result;
 }
 /* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
@@ -1814,8 +1814,7 @@
   hdr->size = size;
   hdr->magic = MAGICWORD;
   ((char *) &hdr[1])[size] = MAGICBYTE;
-  memset (hdr + 1, MALLOCFLOOD, size);
-  return hdr + 1;
+  return memset (hdr + 1, MALLOCFLOOD, size);
 }
 
 static void *


reply via email to

[Prev in Thread] Current Thread [Next in Thread]