diff options
author | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-07-11 11:48:28 -0300 |
---|---|---|
committer | Gabriel F. T. Gomes <gabrielftg@linux.ibm.com> | 2019-12-13 19:06:02 -0300 |
commit | 39a7b82283cab9dbfc119d8411d26d55a65f5eb4 (patch) | |
tree | 74a7c8d739205d232fbf6d113d8ab3001d0fcb16 /misc/error.h | |
parent | b851fea5c875acdca549103493d0439e91360d7e (diff) | |
download | glibc-gabriel/powerpc-ieee128-printscan.zip glibc-gabriel/powerpc-ieee128-printscan.tar.gz glibc-gabriel/powerpc-ieee128-printscan.tar.bz2 |
RFC: powerpc64le: Enable support for IEEE long doublegabriel/powerpc-ieee128-printscan
Not for glibc-2.31 - Do not commit!
No changes since v3.
Changes since v2:
- Added definition of LDBL_IBM128_COMPAT_VERSION and
LDBL_IBM128_VERSION (moved from a previous commit).
Changes since v1:
- Use __LONG_DOUBLE_USES_FLOAT128 directly.
-- 8< --
On platforms where long double may have two different formats, i.e.: the
same format as double (64-bits) or something else (128-bits), building
with -mlong-double-128 is the default and function calls in the user
program match the name of the function in Glibc. When building with
-mlong-double-64, Glibc installed headers redirect such calls to the
appropriate function.
This patch adds similar redirections to be used by user code builds in
IEEE long double mode (-mabi=ieeelongdouble). It also skips some uses
of libc_hidden_proto in internal headers, because they also produce
redirections, causing a redirection conflict.
PS: Missing NEWS entry.
Diffstat (limited to 'misc/error.h')
-rw-r--r-- | misc/error.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/misc/error.h b/misc/error.h index 79840bf..0170d89 100644 --- a/misc/error.h +++ b/misc/error.h @@ -47,11 +47,13 @@ extern unsigned int error_message_count; variable controls whether this mode is selected or not. */ extern int error_one_per_line; -#ifdef __LDBL_COMPAT +#include <bits/floatn.h> +#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1 # include <bits/error-ldbl.h> #else /* Do not inline error and error_at_line when long double has the same - size of double, because that would invalidate the redirections to the + size of double, nor when long double reuses the float128 + implementation, because that would invalidate the redirections to the compatibility functions. */ # if defined __extern_always_inline && defined __va_arg_pack # include <bits/error.h> |