> From: Gavin Smith <[email protected]> > Date: Sat, 13 Aug 2016 14:38:20 +0100 > Cc: Texinfo <[email protected]> > > > In file included from XSParagraph.xs:8:0: > > D:/usr/Perl/lib/CORE/XSUB.h:564:0: warning: "realloc" redefined > > # define realloc PerlMem_realloc > > ^ > > In file included from D:/usr/Perl/lib/CORE/perl.h:766:0, > > from XSParagraph.xs:7: > > ./lib/stdlib.h:1060:0: note: this is the location of the previous definition > > # define realloc rpl_realloc > > ^ > > > > This happens while compiling XSParagraph.c and xspara.c. The > > rpl_realloc thing comes from gnulib, I think. It would be good to > > avoid these warnings. > > Previously reported (by you) at > https://lists.gnu.org/archive/html/bug-texinfo/2016-02/msg00037.html.
Right, I forgot. > The gnulib definition comes in from the "realloc-posix" module, which > is a dependency of "getdelim", which in turn is a dependency of > "getline", which we ask for explicitly. > > The purpose of realloc-posix is for errno to be set properly to > ENOMEM. The dependency was introduced on 2007-09-09. > (http://git.savannah.gnu.org/cgit/gnulib.git/log/modules/getdelim). An > email here about it: > http://lists.gnu.org/archive/html/bug-gnulib/2007-09/msg00067.html > > I think that the Perl realloc is using the system realloc directly, > and gnulib realloc (rpl_realloc) isn't being used at all. > > The only solution I can think of is removing the dependency on > "realloc-posix" by "getdelim". "getdelim" doesn't appear to check > errno itself for ENOMEM - "realloc-posix" would be for calling code > that wanted to see what errno was after getdelim was called. Can we instead "#under realloc" in some suitable place, like before including the Perl headers? I think this will shut up the warning. Or do we need the Gnulib redefinition in the XSpara sources? Thanks.
