summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-04-15 18:10:42 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-04-15 18:10:42 -0700
commita041960a7ca40a5af684efb3e859edd9daae907d (patch)
treeef46ce849adbb532736fcd4243e200d84cac8b52
parent15142f279769f4eea233a0d73a3afc74db0e6082 (diff)
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 574bd27b9a..0fa2133690 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,14 @@
2012-04-16 Paul Eggert <eggert@cs.ucla.edu>
+ 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 <schwab@linux-m68k.org>
diff --git a/src/buffer.c b/src/buffer.c
index ca8d1ec5db..9bac3ec742 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 d1e2cc8715..16c10f2688 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 2ddc2fdfb1..47df94cedd 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/>. */
#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 */