From: Paul Eggert Date: Mon, 16 Apr 2012 01:10:42 +0000 (-0700) Subject: Improve ralloc.c interface checking. X-Git-Tag: emacs-24.2.90~471^2~357^2 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a041960a7ca40a5af684efb3e859edd9daae907d;p=emacs.git Improve ralloc.c interface checking. See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc) (r_alloc_free) [REL_ALLOC]: Move decls from here ... * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable) [REL_ALLOC]: ... to here, to check interface. * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]: Remove decls. This fixes an "It stinks!". --- diff --git a/src/ChangeLog b/src/ChangeLog index 574bd27b9ab..0fa21336900 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,14 @@ 2012-04-16 Paul Eggert + Improve ralloc.c interface checking. + See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html + * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc) + (r_alloc_free) [REL_ALLOC]: Move decls from here ... + * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable) + [REL_ALLOC]: ... to here, to check interface. + * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]: + Remove decls. This fixes an "It stinks!". + * alloc.c (which_symbols): Fix alignment issue / type clash. 2012-04-15 Andreas Schwab diff --git a/src/buffer.c b/src/buffer.c index ca8d1ec5db3..9bac3ec742b 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -2006,10 +2006,6 @@ advance_to_char_boundary (EMACS_INT byte_pos) return byte_pos; } -#ifdef REL_ALLOC -extern void r_alloc_reset_variable (POINTER_TYPE *, POINTER_TYPE *); -#endif /* REL_ALLOC */ - DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text, 1, 1, 0, doc: /* Swap the text between current buffer and BUFFER. */) @@ -4771,13 +4767,6 @@ mmap_realloc (POINTER_TYPE **var, size_t nbytes) Buffer-text Allocation ***********************************************************************/ -#ifdef REL_ALLOC -extern POINTER_TYPE *r_alloc (POINTER_TYPE **, size_t); -extern POINTER_TYPE *r_re_alloc (POINTER_TYPE **, size_t); -extern void r_alloc_free (POINTER_TYPE **ptr); -#endif /* REL_ALLOC */ - - /* Allocate NBYTES bytes for buffer B's text buffer. */ static void diff --git a/src/lisp.h b/src/lisp.h index d1e2cc8715d..16c10f2688c 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -2832,6 +2832,14 @@ extern void syms_of_alloc (void); extern struct buffer * allocate_buffer (void); extern int valid_lisp_object_p (Lisp_Object); +#ifdef REL_ALLOC +/* Defined in ralloc.c */ +extern void *r_alloc (void **, size_t); +extern void r_alloc_free (void **); +extern void *r_re_alloc (void **, size_t); +extern void r_alloc_reset_variable (void **, void **); +#endif + /* Defined in chartab.c */ EXFUN (Fmake_char_table, 2); EXFUN (Fset_char_table_parent, 2); diff --git a/src/m/ia64.h b/src/m/ia64.h index 2ddc2fdfb17..47df94cedd0 100644 --- a/src/m/ia64.h +++ b/src/m/ia64.h @@ -30,13 +30,3 @@ along with GNU Emacs. If not, see . */ #define EMACS_INT long #define pI "l" #define EMACS_UINT unsigned long - -#ifdef REL_ALLOC -#ifndef _MALLOC_INTERNAL -/* "char *" because ralloc.c defines it that way. gmalloc.c thinks it - is allowed to prototype these as "void *" so we don't prototype in - that case. You're right: it stinks! */ -extern char *r_alloc (), *r_re_alloc (); -extern void r_alloc_free (); -#endif /* not _MALLOC_INTERNAL */ -#endif /* REL_ALLOC */