在 2023/4/11 20:51, sisyphus 写道:
That is, the "mpfr_set_default_precision(201)" call made in foo() is apparently ignored, and the initial default precision of 53 is output.I've run this by the mpfr developers and they don't think it's an mpfr issue. (Neither do I.) Those 2 gcc-13.0.1 compilers enable MCF threads and I wonder if that's part of the problem. If someone could point me to a 13.0.1 compiler that is not MFC thread enabled then I might be able to clarify that. (All of my gcc-12 and earlier compilers do not enable MCF threads.)
It's because `__emutls_get_address()` returns two distinct values in consecutive calls with the same descriptor in the same thread, so the second reference to the thread local `__gmpfr_default_fp_bit_precision` (defined in 'set_dfl_prec.c') gets a fresh object with its default value.
This should not happen. Please give me some time to work on this. -- Best regards, LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
