C99 and GMP

Torbjörn Granlund tg at gmplib.org
Wed Apr 4 10:56:55 UTC 2018


  > I'd like to move to C99 soon.

  Nice. Any particular C99 features you'd like to use? Some of the
  features (from the list on https://en.wikipedia.org/wiki/C99):

I am aware of that there are no compelling features provided with C99,
and that the ones at all relevant to us will not bring new GMP user
features.

I would like to add "long long" arguments and return values to user
visible functions, though.  While that will not improve any semantics of
the interface for 64-bit *nix computers, it will slightly improve the
interface, and also improve the semantics for 32-bit systems and for
Windoze.

It would be nice to allow users to use old compilers for application
compiles, which means that we'll need to declare any "long long"
functions behind some cpp conditional (__STDC_VERSION__).  We should
make absolutely sure that slightly outdated gcc does not need any extra
command line arguments for compiling user code.

Shall we move to a newer C++ standard too?  I know we discussed this in
the past, but I don't remember the pros and cons of moving to any
particular standard.  I believe C++ is less critical as it is still not
compiled by default; we might therefore ask for a newer standard there.

About the new release; I'd like to call it 6.2.  I am not sure when to
invoke the magic increment to the most significant version digit, but it
is probably not now.

(I suppose GMP 7 could add the range extension features recently
discussed, and perhaps do some of the cleanups listed here:
<https://gmplib.org/devel/incompatibility.html> and then of course
Nisse's FFT code which he is eager to finish.)

-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-devel mailing list