diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-13 09:14:21 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-13 09:14:21 +0000 |
commit | 0153e1af995ba7dd41d7cd782a704c48ef6280e3 (patch) | |
tree | 106e9274e80f84f544721c986f69eb1bac5935de /gcc/config/fp-bit.c | |
parent | a4928fe44fc797f07951f21d0410402a62a15570 (diff) | |
download | ppe42-gcc-0153e1af995ba7dd41d7cd782a704c48ef6280e3.tar.gz ppe42-gcc-0153e1af995ba7dd41d7cd782a704c48ef6280e3.zip |
Move definition of 'thenan' to its own object file in order to save space.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29371 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/fp-bit.c')
-rw-r--r-- | gcc/config/fp-bit.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 25fe4ef451b..09825416786 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -90,6 +90,11 @@ Boston, MA 02111-1307, USA. */ #define L_make_df #define L_sf_to_df #define L_df_to_sf +#ifdef FLOAT +#define L_thenan_sf +#else +#define L_thenan_df +#endif #endif /* The following macros can be defined to change the behaviour of this file: @@ -389,13 +394,26 @@ FLO_union_type; #define isinf(x) 0 #else +#if defined L_thenan_sf +const fp_number_type __thenan_sf = { CLASS_SNAN }; +#elif defined L_thenan_df +const fp_number_type __thenan_df = { CLASS_SNAN }; +#elif defined FLOAT +extern const fp_number_type __thenan_sf; +#else +extern const fp_number_type __thenan_df; +#endif + INLINE static fp_number_type * nan () { - static fp_number_type thenan; - - return &thenan; + /* Discard the const qualifier... */ +#ifdef FLOAT + return (fp_number_type *) (& __thenan_sf); +#else + return (fp_number_type *) (& __thenan_df); +#endif } INLINE |