aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2012-04-15 18:10:42 -0700
committerPaul Eggert2012-04-15 18:10:42 -0700
commita041960a7ca40a5af684efb3e859edd9daae907d (patch)
treeef46ce849adbb532736fcd4243e200d84cac8b52
parent15142f279769f4eea233a0d73a3afc74db0e6082 (diff)
downloademacs-a041960a7ca40a5af684efb3e859edd9daae907d.tar.gz
emacs-a041960a7ca40a5af684efb3e859edd9daae907d.zip
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!".
-rw-r--r--src/ChangeLog9
-rw-r--r--src/buffer.c11
-rw-r--r--src/lisp.h8
-rw-r--r--src/m/ia64.h10
4 files changed, 17 insertions, 21 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 574bd27b9ab..0fa21336900 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,14 @@
12012-04-16 Paul Eggert <eggert@cs.ucla.edu> 12012-04-16 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Improve ralloc.c interface checking.
4 See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
5 * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
6 (r_alloc_free) [REL_ALLOC]: Move decls from here ...
7 * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
8 [REL_ALLOC]: ... to here, to check interface.
9 * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
10 Remove decls. This fixes an "It stinks!".
11
3 * alloc.c (which_symbols): Fix alignment issue / type clash. 12 * alloc.c (which_symbols): Fix alignment issue / type clash.
4 13
52012-04-15 Andreas Schwab <schwab@linux-m68k.org> 142012-04-15 Andreas Schwab <schwab@linux-m68k.org>
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)
2006 return byte_pos; 2006 return byte_pos;
2007} 2007}
2008 2008
2009#ifdef REL_ALLOC
2010extern void r_alloc_reset_variable (POINTER_TYPE *, POINTER_TYPE *);
2011#endif /* REL_ALLOC */
2012
2013DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text, 2009DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text,
2014 1, 1, 0, 2010 1, 1, 0,
2015 doc: /* Swap the text between current buffer and BUFFER. */) 2011 doc: /* Swap the text between current buffer and BUFFER. */)
@@ -4771,13 +4767,6 @@ mmap_realloc (POINTER_TYPE **var, size_t nbytes)
4771 Buffer-text Allocation 4767 Buffer-text Allocation
4772 ***********************************************************************/ 4768 ***********************************************************************/
4773 4769
4774#ifdef REL_ALLOC
4775extern POINTER_TYPE *r_alloc (POINTER_TYPE **, size_t);
4776extern POINTER_TYPE *r_re_alloc (POINTER_TYPE **, size_t);
4777extern void r_alloc_free (POINTER_TYPE **ptr);
4778#endif /* REL_ALLOC */
4779
4780
4781/* Allocate NBYTES bytes for buffer B's text buffer. */ 4770/* Allocate NBYTES bytes for buffer B's text buffer. */
4782 4771
4783static void 4772static 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);
2832extern struct buffer * allocate_buffer (void); 2832extern struct buffer * allocate_buffer (void);
2833extern int valid_lisp_object_p (Lisp_Object); 2833extern int valid_lisp_object_p (Lisp_Object);
2834 2834
2835#ifdef REL_ALLOC
2836/* Defined in ralloc.c */
2837extern void *r_alloc (void **, size_t);
2838extern void r_alloc_free (void **);
2839extern void *r_re_alloc (void **, size_t);
2840extern void r_alloc_reset_variable (void **, void **);
2841#endif
2842
2835/* Defined in chartab.c */ 2843/* Defined in chartab.c */
2836EXFUN (Fmake_char_table, 2); 2844EXFUN (Fmake_char_table, 2);
2837EXFUN (Fset_char_table_parent, 2); 2845EXFUN (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 <http://www.gnu.org/licenses/>. */
30#define EMACS_INT long 30#define EMACS_INT long
31#define pI "l" 31#define pI "l"
32#define EMACS_UINT unsigned long 32#define EMACS_UINT unsigned long
33
34#ifdef REL_ALLOC
35#ifndef _MALLOC_INTERNAL
36/* "char *" because ralloc.c defines it that way. gmalloc.c thinks it
37 is allowed to prototype these as "void *" so we don't prototype in
38 that case. You're right: it stinks! */
39extern char *r_alloc (), *r_re_alloc ();
40extern void r_alloc_free ();
41#endif /* not _MALLOC_INTERNAL */
42#endif /* REL_ALLOC */