Dear Roberto Bagnara,
On 01/03/13 12:47, Chia-Hsun Cheng wrote:
Dear Chia-Hsun,2. < Static data member name mismatches >
ppl-1.0/src/mp_std_bits.defs.hh:72 and ppl-1.0/src/mp_std_bits.defs.hh:133 defines
static const bool tininess_before = false;
^^^^^^^^^^^^^^^^^
However, in
gmp-5.1.0/gmpxx.h:3302 and gmp-5.1.0/gmpxx.h:3339, there are
static const bool tinyness_before = false;
^^^^^^^^^^^^^^^^^^
Problem:
I am not sure if the two data member are the same. Since I commented out the whole block of
numeric_limits in ppl-1.0/src/mp_std_bits.defs.hh in the last step, the member `tininess_before'
cannot be resolved.
Fix:
Finally, I add
static const bool tininess_before = false;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
in gmp-5.1.0/gmpxx.h:3303 and gmp-5.1.0/gmpxx.h:3341
and add member initialization
const bool numeric_limits<T>::tininess_before; \
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
in gmp-5.1.0/cxx/limits.cc:47
and rebuild the gmp library.
So, for PPL library, even if the code for numeric_limits is commented out, the declarations and object
code can be found from GMP library.
Marco Bodrato (thanks Marco!) made me notice I overlooked this part
of your message. Indeed this is a bug in the PPL: the right spelling
is `tinyness_before' as correctly written in GMP. I have just fixed
the Git version of the PPL and a new PPL 1.1 snapshot release will soon
be added to the location I already indicated.
Kind regards,
Roberto
--
Prof. Roberto Bagnara
Applied Formal Methods Laboratory - University of Parma, Italy
mailto:bagnara@cs.unipr.it
BUGSENG srl - http://bugseng.com
mailto:roberto.bagnara@bugseng.com