gmp's c++ interface / mpz_class

Luis Machado luis.machado@arm.com
Mon Oct 17 10:44:57 GMT 2022


On 10/14/22 19:11, Pedro Alves wrote:
> Hi!
> 
> 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:

Is uint128_t an option (at least temporarily)?

> 
>   /* 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:
> 
>   https://gmplib.org/manual/C_002b_002b-Interface-General
> 
> 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