Commit graph

20 commits

Author SHA1 Message Date
Ronald Oussoren
e8b1c038b1
[3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855) (GH-23295)
* [3.9] bpo-41100: Support macOS 11 and Apple Silicon (GH-22855)

Co-authored-by:  Lawrence D’Anna <lawrence_danna@apple.com>

* Add support for macOS 11 and Apple Silicon (aka arm64)

  As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy

* Support building on recent versions of macOS while deploying to older versions

  This allows building installers on macOS 11 while still supporting macOS 10.9..
(cherry picked from commit 41761933c1)

Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>

* Back port of changes to _decimal to support arm64

* temp_dir is in test.support in 3.9
2020-11-22 11:18:40 +01:00
Miss Islington (bot)
8ca63f95f7
bpo-41302: Fix build with system libmpdec (GH-21481)
Move definition of UNUSED from modified headers of libmpdec to
_decimal.c itself. This makes the vendored source closer to the
standalone library and fixes build with --with-system-libmpdec.

Tested to build fine with either system libmpdec or the vendored one.
(cherry picked from commit 015efdbef7)

Co-authored-by: Felix Yan <felixonmars@archlinux.org>
2020-07-15 06:01:10 -07:00
Miss Islington (bot)
83bff88b4b
bpo-40874: Update to libmpdec-2.5.0 (GH-20652)
(cherry picked from commit 087d612efe)

Authored-by: Stefan Krah <skrah@bytereef.org>
2020-06-05 21:41:17 +02:00
Victor Stinner
3b1cba3701
bpo-35059, libmpdec: Add missing EXTINLINE in mpdecimal.h (GH-10128)
Declare functions with EXTINLINE:

* mpd_del()
* mpd_uint_zero()
* mpd_qresize()
* mpd_qresize_zero()
* mpd_minalloc()

These functions are implemented with "inline" or "ALWAYS_INLINE", but
declared without inline which cause linker error on Visual Studio in
Debug mode when using /Ob1.
2018-10-26 17:06:57 +02:00
Benjamin Peterson
bbeedc261f include (now) int standard headers 2016-09-06 12:41:06 -07:00
Stefan Krah
66e9d03bf4 Issue #26621: Update libmpdec version and remove unnecessary test case. 2016-03-23 20:50:10 +01:00
Stefan Krah
cf26115651 Introduce and check for MPD_VERSION_HEX for precise management of builds
with an external libmpdec.
2014-08-26 21:31:47 +02:00
Stefan Krah
0455c3fd28 Whitespace. 2014-01-04 13:03:48 +01:00
Stefan Krah
01e5f800b4 Fix C++ header usage. This __STDC_LIMIT_MACROS scheme can still be subverted
by including stdint.h before mpdecimal.h.  In that case the only option left
is to compile with -D_STDC_LIMIT_MACROS.
2013-12-14 12:58:09 +01:00
Stefan Krah
ecff6554d3 Update copyright. The four year increment is intentional (to save work). 2013-12-08 19:54:05 +01:00
Stefan Krah
4b7f7acf30 Make a couple of parameters constant. 2013-12-03 14:33:46 +01:00
Stefan Krah
45059eb1d0 1) Prepare libmpdec for the 2.4.0 release. None of the following changes affects
_decimal:

      o Make all "mpd_t to C integer" conversion functions available in both the
        64-bit and the 32-bit versions.

      o Make all mixed mpd_t/C integer arithmetic functions available in the
        32-bit version.

      o Better handling of __STDC_LIMIT_MACROS for C++ users.

      o Add struct tags (at the request of C++ users).

2) Check for libmpdec.so.2 if --with-system-libmpdec is used.
2013-11-24 19:44:57 +01:00
Stefan Krah
e3dff55a5e Issue #16753: Define __GNUC_STDC_INLINE__ to an integer (same as gcc). 2012-12-23 15:42:21 +01:00
Stefan Krah
f03eee12b4 Issue #16745: The gcc visibility pragma is buggy on OpenIndiana and NetBSD. 2012-12-22 23:05:51 +01:00
Stefan Krah
66a6f3fa81 Fix Visual Studio build. 2012-12-22 14:46:44 +01:00
Stefan Krah
fdf1a34ba1 Issue #16745: Hide symbols in _decimal.so. 2012-12-22 14:18:35 +01:00
Stefan Krah
c35a8e5c98 Proactive reliability fix for broken FPUs: The base conversion functions
use log10() to calculate the size of the output array. The current code
has been tested on x86/amd64 (and to a lesser extent on qemu-mips qemu-sparc)
and produces sufficiently large values for all inputs tested so far (coefficient
sizes of 10**18 - 1 are hard to test exhaustively).

The new code does not rely on the correctness of log10() and resizes
the output arrays if the allocated space is insufficient.
2012-06-30 18:05:33 +02:00
Stefan Krah
0e41981cd5 Use abort() rather than exit() to appease tools like rpmlint. abort() is used
in libmpdec to prevent undefined behavior if an invalid context is used. This
cannot occur for the _decimal module since user input for the context is
validated.
2012-03-30 14:12:20 +02:00
Stefan Krah
7cc5521d40 Whitespace. 2012-03-21 20:21:20 +01:00
Stefan Krah
1919b7e72b Issue #7652: Integrate the decimal floating point libmpdec library to speed
up the decimal module. Performance gains of the new C implementation are
between 12x and 80x, depending on the application.
2012-03-21 18:25:23 +01:00