public inbox for newlib-cvs@sourceware.org help / color / mirror / Atom feed
From: Jeff Johnston <jjohnstn@sourceware.org> To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Aarch32/64: Support __FLT_EVAL_METHOD__ values other than 0, 1, 2 Date: Mon, 11 Apr 2022 16:01:01 +0000 (GMT) [thread overview] Message-ID: <20220411160101.95FAB385C305@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=27f0913c17c216548b2f5eea79037ee90038f375 commit 27f0913c17c216548b2f5eea79037ee90038f375 Author: Andrea Corallo <andrea.corallo@arm.com> Date: Wed Mar 30 15:40:59 2022 +0200 Aarch32/64: Support __FLT_EVAL_METHOD__ values other than 0, 1, 2 2022-03-30 Andrea Corallo <andrea.corallo@arm.com> * libc/include/machine/ieeefp.h (__FLOAT_TYPE, __DOUBLE_TYPE): New macros. * libc/include/math.h: Uses __DOUBLE_TYPE __FLOAT_TYPE to define double_t float_t if possible. Diff: --- newlib/libc/include/machine/ieeefp.h | 14 ++++++++++++++ newlib/libc/include/math.h | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index 3c1f41e03..9bb8af02f 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -90,6 +90,13 @@ #ifndef __SOFTFP__ # define _SUPPORTS_ERREXCEPT #endif +/* As per ISO/IEC TS 18661 '__FLT_EVAL_METHOD__' will be defined to 16 + (if compiling with +fp16 support) so it can't be used by math.h to + define float_t and double_t. For values of '__FLT_EVAL_METHOD__' + other than 0, 1, 2 the definition of float_t and double_t is + implementation-defined. */ +#define __DOUBLE_TYPE double +#define __FLOAT_TYPE float #endif #if defined (__aarch64__) @@ -102,6 +109,13 @@ #ifdef __ARM_FP # define _SUPPORTS_ERREXCEPT #endif +/* As per ISO/IEC TS 18661 '__FLT_EVAL_METHOD__' will be defined to 16 + (if compiling with +fp16 support) so it can't be used by math.h to + define float_t and double_t. For values of '__FLT_EVAL_METHOD__' + other than 0, 1, 2 the definition of float_t and double_t is + implementation-defined. */ +#define __DOUBLE_TYPE double +#define __FLOAT_TYPE float #endif #ifdef __epiphany__ diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h index 799ac494a..54e30ef82 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h @@ -168,6 +168,15 @@ extern int isnan (double); #else /* Implementation-defined. Assume float_t and double_t have been * defined previously for this configuration (e.g. config.h). */ + + /* If __DOUBLE_TYPE is defined (__FLOAT_TYPE is then supposed to be + defined as well) float_t and double_t definition is suggested by + an arch specific header. */ + #ifdef __DOUBLE_TYPE + typedef __DOUBLE_TYPE double_t; + typedef __FLOAT_TYPE float_t; + #endif + /* Assume config.h has provided these types. */ #endif #else /* Assume basic definitions. */
reply other threads:[~2022-04-11 16:01 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220411160101.95FAB385C305@sourceware.org \ --to=jjohnstn@sourceware.org \ --cc=newlib-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).