Commit 220a304a authored by Paul Eggert's avatar Paul Eggert
Browse files

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.
parent 71731c03
2013-11-08 Paul Eggert <eggert@cs.ucla.edu>
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 <eggert@cs.ucla.edu>
Port to C11 aligned_alloc.
......
......@@ -24,6 +24,6 @@
# include <stdio_ext.h>
#endif
#ifndef __fpending
#if !HAVE_DECL___FPENDING
size_t __fpending (FILE *) _GL_ATTRIBUTE_PURE;
#endif
# extern-inline.m4 serial 2
dnl 'extern inline' a la ISO C99.
dnl Copyright 2012-2013 Free Software Foundation, Inc.
......@@ -20,15 +19,20 @@ AC_DEFUN([gl_EXTERN_INLINE],
'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__ \
......
# 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 @@ dnl we have to grub around in the FILE struct.
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],
......
......@@ -16,6 +16,8 @@
2013-11-08 Paul Eggert <eggert@cs.ucla.edu>
* 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,
......
......@@ -1307,8 +1307,8 @@ special_realloc (void *ptr, size_t size)
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 @@ calloc (size_t nmemb, size_t size)
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 @@ mallochook (size_t size)
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 *
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment