On 2013-02-04 14:21:54 +0100, Vincent Lefevre wrote: > On 2013-02-04 13:57:16 +0100, Torbjorn Granlund wrote: > > I chose to not provide mpz_ptr since I think it would be prone to > > errors. I expect code like this to be created: > > > > mpz_ptr > > foo (mpz_t a, mpz_t b) > > { > > mpz_t c; > > mpz_init (c); > > mpz_add (c, a, b); > > return c; > > } > > This is not specific to GMP: every C coder should know that returning > a local variable is incorrect. A good compiler (like GCC) should be ^^^^^^^^^^^^^^^^ Sorry, an *address* of a local variable.
> able to detect that and output a warning (GCC does that by default). > So, in practice, there are no risks of errors. -- Vincent Lefèvre <vinc...@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-devel mailing list gmp-devel@gmplib.org http://gmplib.org/mailman/listinfo/gmp-devel