gmp's c++ interface / mpz_class

Pedro Alves
Fri Oct 14 18:11:39 GMT 2022


Zoran and I found a potential need for an integer type with precision of 64-bit + 8-bit, in order to
store bit offsets that can span a whole 64-bits address space.  Instead of rolling our own,
I guess it makes sense to use libgmp, since, well, we already depend on it.  I see that we have:

 /* A class to make it easier to use GMP's mpz_t values within GDB.  */

 struct gdb_mpz

In gdb/gmp-utils.h.  However, we need do to arithmetic on the type, and this wrapper
type doesn't implement operator+, operator-, etc, etc.  I guess we could add those,
as wrappers around mpz_add, etc.  Or use raw mpz_add, etc. directly.  However, I just found
out that GMP already has its own C++ interface:

Before we explore this further, is there an already known reason we shouldn't be using
that interface?

Pedro Alves

More information about the Gdb mailing list