void -> char cast

Conor Williams conor.williams at gmail.com
Fri Jan 10 19:16:48 UTC 2014


guys, 3 things:

1. my c++ code using your gmp libs would not link with your gmp compiled
with gcc.
    This is why I had to compile your gmp with g++ (a well respected gnu
c++ compiler)
    and that is where the couple of messages showed.
2. if you increase the verbosity of the gcc compiler (and I am sure, your c
compiler)
    these messages also show.
3. i have to take issue with the fact that you do not think my bug report
is not good... patch (one of the UNIX standards)
     uses diff to apply code patches, and it is a diff that i gave you...

/thanks


On Thu, Jan 9, 2014 at 12:47 PM, Emmanuel Thomé <emmanuel.thome at gmail.com>wrote:

> I don't see any good reason for compiling C code with a C++ compiler.
>
> While I do agree that being nice to C++ compilers is important in
> header files, my opinion is that accomodating the needs of C++
> compilers in the C source files would yield unnecessary noise.
>
> E.
>
> On Thu, Jan 9, 2014 at 1:44 PM, Vincent Lefevre <vincent at vinc17.net>
> wrote:
> > On 2014-01-09 10:44:46 +0100, Torbjorn Granlund wrote:
> >> Conor Williams <conor.williams at gmail.com> writes:
> >>
> >>   Ubuntu - found when compiling with g++
> >>
> >>   will51 at skynet:~/LPS!/lpsb/gmp-5.1.3/demos/expr$ diff exprfa.c
> exprfa.c.orig
> >>   122c122
> >>   <   edup = (char *)(*allocate_func) (i+1);
> >>   ---
> >>   >   edup = (*allocate_func) (i+1);
> >>
> >>
> >>   will51 at skynet:~/LPS!/lpsb/gmp-5.1.3/demos/expr$ diff exprza.c.orig
> exprza.c
> >>   51c51
> >>   <   edup = (*allocate_func) (i+1);
> >>   ---
> >>   >   edup = (char *)(*allocate_func) (i+1);
> >>
> >> You sent the above to the GMP bug reports mailing list.  Are we to
> >> interpret it as a bug report?  I just see two patches (one apparently
> >> backwards) with no explaation for what they are supposed to fix.
> >
> > Conor's bug report is not very good, but I think that this is quite
> > clear: the cast to (char *), needed by C++ compilers, is missing
> > here, while always present in the source of the library itself.
> > It seems that the same thing as in mpz/get_str.c[*] (for instance)
> > should be done.
> >
> > [*] mpz/get_str.c, line 70:
> >       res_str = (char *) (*__gmp_allocate_func) (alloc_size);
> >
> > --
> > Vincent Lefèvre <vincent at vinc17.net> - Web: <http://www.vinc17.net/>
> > 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
> > Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
> > _______________________________________________
> > gmp-bugs mailing list
> > gmp-bugs at gmplib.org
> > https://gmplib.org/mailman/listinfo/gmp-bugs
>


More information about the gmp-bugs mailing list