>From 23a342e748c0918e2fb2a43f6cbce1919e886ba7 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 5 Nov 2014 11:41:57 -0800 Subject: [PATCH] obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun Problem reported by Alan Modra in: http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html * lib/obstack.h (obstack_chunkfun, obstack_freefun): Always cast the function arg, reverting this part of the previous change. --- ChangeLog | 9 +++++++++ lib/obstack.h | 6 ++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3b3af67..7e03d07 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2014-11-05 Paul Eggert + + obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun + Problem reported by Alan Modra in: + http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html + * lib/obstack.h (obstack_chunkfun, obstack_freefun): + Always cast the function arg, reverting this part of the previous + change. + 2014-11-04 Paul Eggert obstack: avoid potentially-nonportable function casts diff --git a/lib/obstack.h b/lib/obstack.h index 7b6dee8..befe1c2 100644 --- a/lib/obstack.h +++ b/lib/obstack.h @@ -257,12 +257,10 @@ extern int obstack_exit_failure; _OBSTACK_CAST (void (*) (void *, void *), freefun), arg) #define obstack_chunkfun(h, newchunkfun) \ - ((void) ((h)->chunkfun.extra = _OBSTACK_CAST (void *(*) (void *, size_t), \ - newchunkfun))) + ((void) ((h)->chunkfun.extra = (void *(*) (void *, size_t)) (newchunkfun))) #define obstack_freefun(h, newfreefun) \ - ((void) ((h)->freefun.extra = _OBSTACK_CAST (void (*) (void *, void *), \ - newfreefun))) + ((void) ((h)->freefun.extra = (void *(*) (void *, void *)) (newfreefun))) #define obstack_1grow_fast(h, achar) ((void) (*((h)->next_free)++ = (achar))) -- 1.9.3