Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#645 closed defect (fixed)

isinf not available on Solaris

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone: 4.9.0
Component: core libraries Version: 4.7.x
Keywords: isinf runtime solaris Cc:
Estimated difficulty:

Description

Claude marinier reported:

>> Building chicken 4.7.0 on Solaris 10 running on SPARC (M5000) with gcc
>> 3.4.6 from SunFreeware.
>>
>> Linking chicken fails with missing isinf. Added definition to
>> chicken.h after line 954.

#ifndef isinf
# define isinf(x) \
     (sizeof (x) == sizeof (long double) ? isinf_ld (x) \
      : sizeof (x) == sizeof (double) ? isinf_d (x) \
      : isinf_f (x))
static inline int isinf_f  (float       x)
{ return !isnan (x) && isnan (x - x); }
static inline int isinf_d  (double      x)
{ return !isnan (x) && isnan (x - x); }
static inline int isinf_ld (long double x)
{ return !isnan (x) && isnan (x - x); }
#endif

See also:

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7151

Attachments (1)

solaris-gcc-definitions.txt (2.2 KB) - added by felix winkelmann 10 years ago.
gcc -dM output of Claude's machine

Download all attachments as: .zip

Change History (3)

Changed 10 years ago by felix winkelmann

Attachment: solaris-gcc-definitions.txt added

gcc -dM output of Claude's machine

comment:1 Changed 10 years ago by felix winkelmann

Resolution: fixed
Status: newclosed

Applied in master.

comment:2 Changed 9 years ago by felix winkelmann

Milestone: 4.8.04.9.0

Milestone 4.8.0 deleted

Note: See TracTickets for help on using tickets.